Webpack加载器别名?

Bri*_*and 8 javascript webpack webpack-style-loader

我有一个相当复杂的样式表加载程序设置:

  {
    test: /\.scss$/,
    loader: ExtractTextPlugin.extract("style",
      "css?sourceMap&localIdentName=[path][name]__[local]__[hash:base64:5]!sass?outputStyle=expanded&" +
      "includePaths[]=" + other stuff)
    )
  }
Run Code Online (Sandbox Code Playgroud)

哪个效果很好,但有些要求我想将modules选项添加到css-loader中,所以它看起来像这样:

require('./foo.scss!css?modules&sourceMap&localIdentName=[path][name]__[local]__[hash...');
Run Code Online (Sandbox Code Playgroud)

但我无法在这个地方做到这一点.

我如何配置它,以便我可以在某些需求上启用css-loader模块标志,同时保持其余部分相同?

也许像装载机'别名',例如require('./foo.scss!my-scss-with-modules-flag-alias')

我能想到的唯一解决方案是编写一个加载器,它进行语法转换,将加载器配置内联到某些需要的调用......但这很脆弱且复杂.

Juh*_*nen 15

resolveLoader.alias将在这里工作.IE浏览器.

resolveLoader: {
    alias: {
        'with-modules': 'loader definition goes here',
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此配置,您可以轻松完成

require('with-modules!./foo.scss');
Run Code Online (Sandbox Code Playgroud)

在你的代码.

  • 你是如何得到这个解决方案的?Webpack太棒了,bug我在文档上遇到了困难...... (2认同)