Javascript 在一个网页包加载器中用一个!符号vs用引号列出数组?
Webpack建议以下语法相同Javascript 在一个网页包加载器中用一个!符号vs用引号列出数组?,javascript,regex,angular,webpack,Javascript,Regex,Angular,Webpack,Webpack建议以下语法相同 { module: { loaders: [ { test: /\.jade$/, loader: "jade" }, // => "jade" loader is used for ".jade" files { test: /\.css$/, loader: "style!css" }, // => "style" and "c
{
module: {
loaders: [
{ test: /\.jade$/, loader: "jade" },
// => "jade" loader is used for ".jade" files
{ test: /\.css$/, loader: "style!css" },
// => "style" and "css" loader is used for ".css" files
**// Alternative syntax:**
{ test: /\.css$/, loaders: ["style", "css"] },
]
}
}
然而,这似乎并不总是正确的,我想知道有什么区别
对于我的应用程序,我添加了一个具有此配置的加载程序
{
test: /\.scss$/,
exclude: helpers.root('src', 'app'),
loader: ExtractTextPlugin.extract("style-loader", "css-loader!sass-loader")
},
我想做的是不要将“样式加载器”与其他2个加载器分开。。。但是,当我创建配置并运行它时,这个配置会出现以下错误
{
test: /\.scss$/,
exclude: helpers.root('src', 'app'),
loader: ExtractTextPlugin.extract("style-loader!css-loader!sass-loader")
},
ERROR in ./src/file.scss
Module build failed: ReferenceError: window is not defined
at eval (eval at <anonymous> (/Users/mbp06/Repos/propertymarketing/frontend/node_modules/style-loader/index.js!/Users/mbp06/Repos/propertymarketing/frontend/node_modules/css-loader/in
嗯,从最初的研究看来,这两种不同的语法形式应该是相同的;我想象着这一切!当webpack以任何方式运行时,分隔字符串被拆分为一个数组。我想知道ExtractTextPlugin是否引起了某种冲突。。有什么特别的原因不想使用数组语法吗?加载器作者用来处理三种不同形式的加载器的配置和链接方式。我不明白为什么加载程序字符串
'样式!css!sass的
是行不通的。我想我很快就会写一篇解释。
{
test: /\.scss$/,
loaders: ["style", "css", "sass"]
},