首先,在vue-loader v14与v15版本中,使用css Modules的方式有所不同。
// v15
{
module: {
rules: [
// ... 其它规则省略
{
test: /\.css$/,
use: [
'vue-style-loader',
{
loader: 'css-loader',
options: {
// 开启 CSS Modules
modules: true,
// 自定义生成的类名
localIdentName: '[local]_[hash:base64:8]'
}
}
]
}
]
}
}
CSS Modules 现在需要通过 css-loader 选项显式地配置(如上所示),而不是在vue-loader中通过options的cssModules来设置。
Module build failed (from ./node_modules/css-loader/dist/cjs.js):
ValidationError: CSS Loader Invalid Options
.....
检查了3个配置文件都没有问题。从css-loader入手,最初采用css-loader@3.0.0,最新版的css-loader配置无效,可降低css-loader的版本为2.1.1.