使用extract-text-webpack-plugin插件,将css文件自身打包成了一个独立的文件,但是css文件中引用的一些SVG,PNG,font文件等等还是在默认的output的地方,导致了路径的错误(页面中一些icon显示不出来),请问该如何修改,保证CSS文件中的引用路径还是可用的?webpack配置文件以及目录结构如下(可以看到CSS是独立出来了,但是引用的一些资源文件打包到了js文件夹下):
const path = require('path');
const CommonsChunkPlugin = new require("./node_modules/webpack/lib/optimize/CommonsChunkPlugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
entry: {
'login': path.resolve(__dirname, './src/pages/login/index.js'),
'user': path.resolve(__dirname, './src/pages/user/index.js')
},
output: {
path: path.resolve(__dirname, './dist/js'),
filename: '[name].js'
},
plugins: [
new CommonsChunkPlugin({
name: 'common',
minChunks: 2
}),
new ExtractTextPlugin('../css/[name].css')
],
module: {
rules: [{
test: /\.css$/,
use: ExtractTextPlugin.extract({
use: ['css-loader']
})
}],
loaders: [
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })
},
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: ExtractTextPlugin.extract('url-loader?limit=10000&mimetype=application/font-woff')
},
{
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: ExtractTextPlugin.extract('file-loader')
},
{
test: /\.(jpe?g|png|gif|svg)$/i,
loader: ExtractTextPlugin.extract('file-loader')
}
]
}
};
你
output
里面的path
字段定义的好别扭。