webpack:sass-loader, scss中使用url加载图片报NotFound的三个解决方法

在vue项目中,使用scss加载背景图片时遇到NotFound错误。问题源于sass-loader对url处理的限制。解决方案包括:1) 将scss内容放入vue组件的style标签内;2) 在vue组件中设置背景图片;3) 使用resolve-url-loader配合sass-loader进行url重写。通过以上方法可以成功引用scss中的图片资源。
摘要由CSDN通过智能技术生成

问题描述:

使用vue-cli搭建好vue项目结构后,我在Home.scss中使用background-image: url('../../images/home_banner.jpeg');加载一个背景图片,没想到报错:

This relative module was not found:

* ../../images/home_banner.jpeg in ./node_modules/_css-loader@0.28.11@css-loader?{
   "sourceM
ap":false}!./node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler?{
   "vue":true,"id
":"data-v-5a90ec03","scoped":false,"hasInlineConfig":false}!./node_modules/_sass-loader@7.
1.0@sass-loader/lib/loader.js?{
   "sourceMap":false}!./node_modules/_vue-loader@13.7.3@vue-lo
ader/lib/selector.js?type=styles&index=0!./src/pages/Home.vue复制代码

那这是为什么呢?虽然这是sass-loader的一个已知的问题,还是要把解决过程记录下来,丰富自己也造福后来人。


版本描述:

"sass-loader": "^7.1.0",
"vue": "^2.5.2",
"webpack": "^3.6.0"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值