何时使用';使用';和';装载机&x27;在Webpack 2 module.rules中?
我正在将当前项目升级到Webpack2,之前它使用的是Webpack1。我已经阅读了一些关于升级的教程,总的来说,我是理解的 不过,我一直遇到的问题是,在指定模块规则(装入器)时,我不确定何时在中使用“use”和“loader”。起初,我认为何时使用';使用';和';装载机&x27;在Webpack 2 module.rules中?,webpack,webpack-2,Webpack,Webpack 2,我正在将当前项目升级到Webpack2,之前它使用的是Webpack1。我已经阅读了一些关于升级的教程,总的来说,我是理解的 不过,我一直遇到的问题是,在指定模块规则(装入器)时,我不确定何时在中使用“use”和“loader”。起初,我认为使用替换了加载程序。我理解这种语法: module: { rules: [{ test: /\.scss$/, use: [ { loader: 'postcss-loader', option
使用
替换了加载程序
。我理解这种语法:
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
}
}
];
在我开始讨论其他问题之前,我就到此为止。有人能帮我解释一下我遗漏了什么吗?请随意询问您需要帮助的任何其他代码
提前谢谢。是为装载机准备的。将规则指定为只是
use: [{loader}]
对于插件,使用配置中的属性。作为状态,两者之间的区别是,如果我们需要一个加载程序数组,我们必须使用使用,如果它只是一个加载程序,那么我们必须使用加载程序
:
module: {
rules: [
{
test: /\.jsx$/,
loader: "babel-loader", // Do not use "use" here
options: {
// ...
}
},
{
test: /\.less$/,
loader: "style-loader!css-loader!less-loader"
use: [
"style-loader",
"css-loader",
"less-loader"
]
}
]
}
注意:使用加载器
而不是加载器
仍然可以工作,但现在被认为是一个遗留选项非常好的答案,谢谢。当一个因其复杂配置而受到批评的工具决定让您使用两个属性(而您过去只能使用其中一个属性)从而使配置变得更加困难时,您一定会喜欢它:(