我正在将当前项目升级到Webpack2,它正在使用Webpack1事先的。我研究了一些有关升级的教程,总的来说,我确实理解。
不过,我一直遇到的问题是,我不确定在指定模块规则(加载程序)时何时使用“use”和“loader”。起初我以为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
being:
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
}
}
];
在我开始讨论其他问题之前,我先到此为止。有人可以帮助解释我在这里缺少什么吗?请随时询问您需要帮助的任何其他代码!
先感谢您。