【发布时间】:2017-06-04 16:17:34
【问题描述】:
我正在将我当前的项目升级到 Webpack2,它之前使用的是 Webpack1。我查看了一些关于升级的教程,总的来说,我明白。
不过,我一直遇到的问题是,我不确定在指定模块规则(加载程序)时何时使用“使用”和“加载程序”。起初,我以为use 替换了loader。我理解这种语法:
module: {
rules: [{
test: /\.scss$/,
use: [
{
loader: 'postcss-loader',
options: {
plugins: ...
}
},
'sass-loader'
]
}]
}
但是,当我使用ExtractTextPlugin 时,它似乎不喜欢使用use。我试过这个:
{
test: /\.scss$/,
use: [
{
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: scssLoaders
})
}]
},
scssLoaders 是:
var scssLoaders = [
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: '2',
localIdentName: '[name]__[local]__[hash:base64:5]'
}
},
{
loader: 'postcss-loader'
},
{
loader: 'sass-loader',
options: {
outputStyle: 'expanded',
sourceMap: true,
sourceMapContents: true
}
}
];
在我开始讨论其他问题之前,我会在这里停下来。有人可以帮忙解释我在这里缺少什么吗?随意询问您需要帮助的任何其他代码!
提前谢谢你。
【问题讨论】: