我正在尝试让我的webpack构建导出2个css文件,一个用于所有lib文件,一个用于我的文件。我要求两个文件分别进入我的main.js.它将所有css需求合并到一个文件中。
我能够生成文件的唯一方法是分割条目:
entry: {
lib:'./style/lib.scss',
app: [
'./src/index.js',
'./style/style.scss',
],
},
但是生成的lib.scss是样式的副本,并且此方法还创建了一个redudant lib.js.有没有办法创建2个单独的css文件,或者设置所需的任何css需要单独导出而不是合并到单个文件中?
答案 0 :(得分:2)
您可以使用不同的插件实例从样式中拆分CSS lib:
const ExtractTextPlugin = require('extract-text-webpack-plugin');
// Create multiple instances
const extractStyle = new ExtractTextPlugin('style.css');
const extractLib = new ExtractTextPlugin('lib.css');
scss的不同文件夹:
{
test: /\.scss$/i,
include: resolve(__dirname, './../app/stylesheets'),
loader: extractLib.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
},
{
loader: 'sass-loader'
}
]
})
},
{
test: /\.scss$/i,
include: resolve(__dirname, './../app/src'),
use: extractStyle.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
},
{
loader: 'sass-loader'
}
]
})
}
您可以在此处查看完整示例:https://github.com/jquintozamora/webpack-multiple-css-output/blob/master/webpack/webpack.config.js