webpack应用的一个个人demo项目中,css使用了
output: {
path: path.resolve(__dirname, './build'),
filename: 'bundle.js'
},
var ExtractTextPlugin = require("extract-text-webpack-plugin");
...
loader: ExtractTextPlugin.extract('style-loader','css-loader?modules')
test: /\.(png|jpg|jpeg|gif|svg)$/,
loader: 'url-loader?limit=10000&name=images/[hash:3].[name].[ext]'
...
plugins里面:
new ExtractTextPlugin("css/[name].css"),//生成的css样式文件
当运行,或者打包的时候,图片的路径出了问题,问题如下:
打包后,图片路径的引用成了css/imgages/....怎么成了这样,好奇怪!
我的文件引用是background:url('../images/name.png') no-repeat 100% 100%;
运行或者打包的时候成了这样了
GET http://localhost:7000/css/images/827.name.png 404 (Not Found)
报错了
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
设置一下
publicPath遇到同样问题,各种测试,最终把问题定在了extract-text-webpack-plugin此插件上,如不使用此插件,将不会出现此问题,根源就在 new ExtractTextPlugin("css/[name].css") 前面的路径上,这个路径加载了原本正确的路径之前,导致了最终问题!
参考这个,不知是否有用
设置 publicPath 为绝对路径
eg:
我自己有一个方法就是把
替换成这样,这样就避免了
images在css文件里,可是这不是我想要的效果,这样的话,项目结构就有点不好了,css不再文件夹内。还请路过的大神解决一下