例子: a.js 引入a.css require b.js,b.js引入b.css 打包时a.css里面竟然包含了b.css内容,怎么回事?下面是我的webpack.config.js 配置 ,不知道哪里有问题,请大佬指点
const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');
const cleanWebpackPlugin = require('clean-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
var getHtmlConfig = function (filename,title) {
return {
template:'./src/' + filename + '/'+ filename + '.html',
filename: filename + '.html',
title:title,
hash:true,
chunks:[filename]
}
}
module.exports = {
entry: {
index:'./src/index/index.js',
test:'./src/test/test.js'
},
output: {
filename: './js/[name].bundle.js',
path: path.resolve(__dirname,'dist'),
},
devServer:{
contentBase: './dist'
},
plugins: [
new htmlWebpackPlugin(getHtmlConfig("index",'index')),
new htmlWebpackPlugin(getHtmlConfig("test",'test')),
new cleanWebpackPlugin(['dist']),
new MiniCssExtractPlugin({
filename: "./css/[name].css",
chunkFilename: "[id].css"
})
],
module:{
rules:[
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {
minimize: true
}
},
]
},
{
test:/\.(png|svg|jpg|gif)$/,
use:[
'file-loader'
]
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use:[
'file-loader'
]
}
]
}
这样写肯定会打包两份,因为你有两个入口