1

我有以下文件夹设置:

app/
  scss/
    lib/
      grid.css
    main.scss
webpack/
  webpack.config.js

在我的webpack.config.js中,我有以下加载程序来处理 scss 和 css:

  {
    test: /\.(css|scss)$/,
    exclude: path.join(__dirname, '..', 'app/scss/lib/'),
    loader: ExtractTextPlugin.extract(
      'style-loader', 'css-loader?module!resolve-url!postcss-loader!sass-loader?sourceMap'
    )
  },
  {
    test: /\.(css|scss)$/,
    include: path.join(__dirname, '..', 'app/scss/lib/'),
    loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
  }

这里的想法是 css-loader 使用模块基本上将类名重写为.red随机的东西.JHSKJasdasa,但是,我希望它排除/lib文件夹并保留其中的类与它们相同(香草),但仍然是网格内的类.css 之类的.container变得随机化。

4

1 回答 1

1

可能的答案是 webpack 被 -documentationpath.join指定的内容path.resolve弄糊涂了。我认为它可能会对路径进行直接字符串比较,因此相对..会破坏它,因此排除/包含无法正常工作。path.resolve应该解析为绝对路径。

如果这不起作用,请尝试添加一个文件夹app/scss/src(或类似文件夹)以分离出您要在其上使用 css-loader 的代码。然后include,而不是excludeing lib

于 2016-06-28T18:26:08.267 回答