webpack打包出现图片不显示怎样办?
Admin 2021-12-10 群英技术资讯 2617 次浏览
webpack打包出现图片不显示怎样办?一些朋友有遇到webpack打包后,图片路径不错不显示图片的情况,那么这时我们该怎样解决呢?下面我们一起来了解看看。
在vue组件的style标签内部有如下一段使用背景图片的css代码
background-image: url("../assets/img/icon_add.png");
在webpack中css-loader的解析配置如下
{
test: /\.(css|less)$/,
exclude: path.resolve(__dirname, 'node_modules'),
use: ['style-loader', 'css-loader', 'less-loader']
}
打包后在dist目录的发现没有css文件。这是因为css文件被转化成了js文件。
此时启动项目,背景图片引入正确,能够正常显示。
2 将css文件提取到单独的文件目录
使用 mini-css-extract-plugin 将css文件单独提取到dist目录下的css目录下。
2.1 loader配置
{
test: /\.(css|less)$/,
exclude: path.resolve(__dirname, 'node_modules'),
use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
}
2.2 plugin配置
new MiniCssExtractPlugin({
filename: 'css/[name][contenthash].css',
})
打包后,dist目录结构如下
可以看到此时图片在根目录(dist)目录下,但是css文件处在dist/css/目录下。现在来看一下打包后的css文件是如何引用图片的路径。
2.3 打包结果
background-image: url(bb65a86a2fe7669e483a56b970bea421.png);
可以看到在dist/css目录下没有bb65a86a2fe7669e483a56b970bea421.png图片。因此图片无法正常显示。理想的情况是
background-image: url(../bb65a86a2fe7669e483a56b970bea421.png);
3 解决方案
更改loader的配置如下
{
loader: MiniCssExtractPlugin.loader,
options: {
// 当前的css所在的文件相对于打包后的根路径dist的相对路径
publicPath: '../'
}
}, 'css-loader', 'less-loader'
总结
分离css文件导致css背景图片路径错误,解决方案的核心是配置publicPath的值,publicPath的值是css文件所在的文件目录相对于根目录的相对路径值。 比如,根路径是/,css文件所在的目录是/css/,因此相对路径是..
以上就是webpack打包图片不显示的解决方法介绍,有需要的朋友可以参考了解看看,希望对大家解决问题有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
传统网页布局的三种方式网页布局的本质——用CSS来摆放盒子。把盒子摆放到相应位置.CSS提供了三种传统布局方式(简单说,就是盒子如何进...
通过本文,你可以学到: 如何利用 filter: drop-shadow() 对元素的部分内容添加单重及多重阴影,以及利用多重阴影实现 Neon 效果 HTML 元素配合 filter: drop-shadow() 以及 SV
浏览器支持所有主流浏览器都支持visibility属性。注释:任何的版本的internetexplorer(包括ie8)都不支持"inherit"和"collaps教程e"属性值。所有主流浏览器都支持display属性。注释:任何版本的internetexplorer(包括ie8)都不支持"inherit"、"inline-table"、"run-in"、"table"、"table-caption"、"table-cell"、"table- ...
html5是什么?有什么用?这个问题对于一些刚接触到前端学习的朋友来说肯定是会来问的,那么下面php中文网就给大家来说一说html的概念以及html5可以用来做什么。
这篇文章给大家分享的是CSS3实现旋转效果的相关内容。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008