我有以下文件夹设置:
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 文件夹和保留与它们相同的类(vanilla),但是, grid.css 中的类(.container
)会随机化。
答案 0 :(得分:1)
可能的答案是webpack因path.join
- documentation指定path.resolve
而感到困惑。我认为它可能会对路径进行直接字符串比较,因此相对..
会破坏它,因此排除/包含不能正常工作。 path.resolve
应该解决绝对路径。
如果这不起作用,请尝试添加文件夹app/scss/src
(或类似文件)以分隔出要使用css-loader的代码。然后include
而不是exclude
lib
。