webpack中css的url报错?

webpack中css的url报错?

css-loader:

//打包样式中背景图
{
    test: /\.(png|jpg)$/,
    loader: "url-loader?limit=8192&name=images/[hash:8].[name].[ext]"
    //limit参数,代表如果小于大约4k则会自动帮你压缩成base64编码的图片,否则拷贝文件到生产目录
    //name后面是打包后的路径;
    //loader 后面 limit 字段代表图片打包限制,这个限制并不是说超过了就不能打包,
    //而是指当图片大小小于限制时会自动转成 base64 码引用
    //上例中大于8192字节的图片正常打包,小于8192字节的图片以 base64 的方式引用。
},

当小于8192,就打包成base64,那么,大于的就不做处理;

情景:我在main.css中背景图:

.page4-bg{
  background:url("../images/page4-bg.jpg") no-repeat center;
  background-size:cover;
}

结果:打包的时候,图片是在dist/images/文件夹下的,但是控制台中却是:

Failed to load resource:the server responded with a status of

404(Not Found)

图片没有找到,于是我去查看路径:

Snipaste_2019-12-28_10-37-24.jpg

貌似图片是加载进来了,好像没什么问题,接着在图片地址上鼠标右击---open in new tab,结果

Snipaste_2019-12-28_10-37-33.jpg

而我文件图片的目录地址是

Snipaste_2019-12-28_10-37-40.jpg

这样的,去掉路径中的css,就能够显示图片了

Snipaste_2019-12-28_10-37-46.jpg

解决方案:

//打包样式中背景图
{
    test: /\.(png|jpg)$/,
    loader: "url-loader?limit=8192&name=images/[hash:8].[name].[ext]",
    options:{
        publicPath:'./images'
    }
    //limit参数,代表如果小于大约4k则会自动帮你压缩成base64编码的图片,否则拷贝文件到生产目录
    //name后面是打包后的路径;
    //loader 后面 limit 字段代表图片打包限制,这个限制并不是说超过了就不能打包,而是指当图片大小小于限制时会自动转成 base64 码引用
    //上例中大于8192字节的图片正常打包,小于8192字节的图片以 base64 的方式引用。
},

添加publicPath。

Image placeholder
前端答疑
未设置
  90人点赞

没有讨论,发表一下自己的看法吧

推荐文章
dreamweaver中CSS怎么设置

dreamweaver中CSS怎么设置1、打开软件后,我们可以直接按下快捷键【Ctrl+J】2、或者,我们点击菜单栏的修改命令按钮。3、然后,我们点击页面属性按钮。4、接下来我们就会看到页面属性这个窗

jquery的url参数乱码怎么解决?

URL地址栏传递字符(中文、=、&)乱码解决办法1、使用encodeURI()方法encodeURI()方法可把字符串作为URI进行编码,转码之后就不会乱码,同时如果传递参数中包含&、=等特殊字符转码

基于Webpack的css sprites实现方案

一、前言关于csssprites(雪碧图/精灵图)的几种实现方案可以参考浅谈CSSSprites雪碧图应用。本文主要讨论基于webpack的csssprites实现方案。由于使用webpack时会涉及

react-native中IOS的webview和js层通信 - UIWebview

前言在9012的最后一篇写到了在rn中安卓的webview的通信原理,而作为0202年的第一篇,继续讨论上年rn中webview通信剩下的部分。背景:对于webview,了解过的人都知道在ios端会存

php中css不加载怎么解决?

php中css不加载怎么解决?解决方法:1、首先打开HTML文档;2、然后在head标签中找到引入css文件的link标签;3、最后在link标签的href属性的值前面,加上__STATIC__即可。

如何优雅的在react-hook中进行网络请求

推荐课程:前端开发工程师--学习猿地精品课程 前言Hook是在React16.8.0版本中新加入的特性,同时在React-Native的0.59.0版本及以上进行了支持,使用hook可以不用class

jQuery中click()方法如何使用?

jQuery中click()方法如何使用?作用:click()方法触发click事件,或规定当发生click事件时运行的函数。语法:$(selector).click() $(selector).cl

dreamweaver和css的区别是什么?

DreamweaverAdobeDreamweaver,简称“DW”,中文名称"梦想编织者",是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器。DW是第一套针对专业

Stylus系列——webpack-spritesmith配合stylus使用示例

一、前言基于Webpack的CSSSprites实现方案,若是直接在html中调用雪碧图图标已经很方便,但是实际开发过程可能遇到需要在伪元素中使用雪碧图,或者需要hover切换另一个图标,这种情况下就

react中的webpack是什么?

Webpack是一个开源的前端打包工具。Webpack提供了前端开发缺乏的模块化开发方式,将各种静态资源视为模块,并从它生成优化过的代码。Webpack可以从终端、或是更改webpack.config

使用html-webpack-plugin对HTML文件进行预处理

一、前言先整理一波之前和webpack相关的文章: 使用Webpack对CSS文件进行后处理 基于Webpack的CSSSprites实现方案 Stylus系列——webpack-spritesmit

初识webpack

课程推荐:前端开发工程师--学习猿地精品课程 webpack是基于模块化的打包(构建)工具,通过一个入口文件递归出所有模块的依赖关系,经过一系列的过程(压缩,合并),最终生成运行的代码。 webpac

Webpack 原理浅析

课程推荐:前端开发工程师--学习猿地精品课程 背景Webpack迭代到4.x版本后,其源码已经十分庞大,对各种开发场景进行了高度抽象,阅读成本也愈发昂贵。但是为了了解其内部的工作原理,让我们尝试从一个

scss和sass的区别是什么?

另外,SCSS还能识别大部分CSShacks(一些CSS小技巧)和特定于浏览器的语法,例如:古老的IEfilter语法。由于SCSS是CSS的扩展,因此,所有在CSS中正常工作的代码也能在SCSS中正

sass与scss的区别是什么?

Sass是采用Ruby语言编写的一款CSS预处理语言,它诞生于2007年,是最大的成熟的CSS预处理语言。最初它是为了配合HAML(一种缩进式HTML预编译器)而设计的,因此有着和HTML一样的缩进式

jquery中children()和find()的区别是什么?

jquery中children()和find()的区别children(selector)方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈)。参数可选,添加参数表示通过选择器进行过滤,对元素进行

leveldb源代码分析系列1.1:memtable中comparator的实现

leveldb中memtable封装了一个skiplist用来存储真正的数据,跳跃列表的实现一定需要定义存储项的序关系,而在leveldb中这个序关系通过comparator相关类来实现。leveld

一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用

本文面向的读者如果您是一个Kubernetes的初学者,本文可以帮助你快速在云上搭建一个可实际使用的集群环境,并发布自己的第一个应用。你无须提前准备任何的硬件资源或者下载任何的软件包。 如果您已经有一

css使用url引用图片报错

css使用url引用图片报错css使用url引用图片报错,是因为图片路径填写错误,路径需要相对于css文件,而不是引用css文件的html文件。例如:css文件夹下的index.css样式表中back

ie加载不了css的原因是什么?

可能原因如下:1.HTML页面编码与CSS编码不同(如HTML为gbk,CSS为utf-8)。2.CSS文件中未指定@charset头声明,导致IE默认使用页面编码来解码CSS文件(DEMO中IE浏览

jsp和css的区别是什么?

jsp是什么?JSP全名为JavaServerPages,中文名叫java服务器页面,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码;标签通常以结束。JSP技术有点类似ASP

jsp和css的区别?

一、JSPJSP全名为JavaServerPages,他实现了Html语法中的java扩张(以形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端

css的语法规则是什么?

css的语法规则是什么?1、CSS规则由两个主要的部分构成:选择器,以及一条或多条声明:选择器{ 声明1; 声明2; 声明3; ...... }(推荐学习:CSS视频教程)2、CSS样式申明——At-

HTML与CSS的dic、span和格式化标签

课程推荐:前端开发工程师--学习猿地精品课程 div和spandiv? 是一个块级元素,通常与css配合使用,用于布局。 ?标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使

GoWeb教程_08.2. WebSocket

WebSocket是HTML5的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信,许多浏览器(Firefox、GoogleChrome和Safari)都已对此做了支