Twi*_*dSt 35 webpack webpack-2
我正在将我当前的项目升级到Webpack2,之前它正在使用Webpack1.我已经看了几个关于升级的教程,总的来说,我明白了.
但是,我一直遇到的问题是,我不确定何时在指定模块规则(加载器)时使用'use'和'loader'.起初,我想use更换了loader.我理解这种语法:
module: {
rules: [{
test: /\.scss$/,
use: [
{
loader: 'postcss-loader',
options: {
plugins: ...
}
},
'sass-loader'
]
}]
}
Run Code Online (Sandbox Code Playgroud)
然而,当我使用ExtractTextPlugin它时它似乎并不喜欢当它被认为是一个use.我试过这个:
{
test: /\.scss$/,
use: [
{
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: scssLoaders
})
}]
},
Run Code Online (Sandbox Code Playgroud)
与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
}
}
];
Run Code Online (Sandbox Code Playgroud)
在我解决其他问题之前,我会停在这里.有人可以帮忙解释一下我在这里缺少什么吗?随意询问您需要帮助的任何其他代码!
先感谢您.
Alb*_*ivé 44
正如Webpack 2迁移教程所述,两者之间的区别在于,如果我们想要一个加载器数组,我们必须使用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"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
sim*_*n04 12
module.rules适用于装载机.将规则指定loader为只是一个快捷方式
use: [{loader}]
Run Code Online (Sandbox Code Playgroud)
对于插件,请使用plugins配置中的属性.
| 归档时间: |
|
| 查看次数: |
14672 次 |
| 最近记录: |