index入口的index.js中require了reset.css和index.css,打包结果是,两者被合并为一个css文件,叫index.css,我想知道如何将他们的两次require单独打包,而不是合在一起
index入口的index.js中require了reset.css和index.css,打包结果是,两者被合并为一个css文件,叫index.css,我想知道如何将他们的两次require单独打包,而不是合在一起
webpack 打包 entry 只支持 js 文件,所以如果想导出两个 css 文件需要定义两个 entry。但是有没有更好的方式呢?其实很简单:写个简单的插件就可以使 entry 支持 css 文件了。我们就是这么做的:
class CssEntryPlugin {
apply (compiler) {
compiler.plugin('emit', (compilation, callback) => {
compilation.chunks.filter(chunk => {
return /\.css$/i.test(chunk.name);
}).forEach(chunk => {
// remove unused js files
chunk.files = chunk.files.filter(file => {
const isJS = /\.js(|\.map)$/i.test(file);
if (isJS) {
delete compilation.assets[file];
}
return isJS;
});
});
callback();
});
}
}
详情可以参考这个 Demo:https://github.com/d-band/doo...
npm i dool -g
touch index.js
touch index.less
echo "{ files: ['index.js', 'index.less'] }" > .doolrc
dool build
dool server
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
可以试试添加 Condition 来指定要打包的文件,设置两个 loader 分别打包
https://webpack.js.org/configuration/module/#condition