【发布时间】:2020-02-10 15:31:45
【问题描述】:
我正在尝试将 CSS 模块概念再次应用到我的 Angular 应用程序中,以便将其嵌入到现有的前端,并使用 CSS 不幸地重叠。我的项目使用 scss,如果我认为在最后一个构建步骤中由 scss 形成,我希望 webpack 在 CSS 之后“模块化”我的 CSS。
我想使用 webpack 的 CSS loader 来实现。
但我无法让它工作。
https://www.npmjs.com/package/@angular-builders/custom-webpack 订购自定义我的 webpack 配置。 我已经尝试应用下一个配置
module.exports = {
module: {
rules: [
{
test: /\.css$/i,
loader: 'css-loader',
options: {
modules: true,
},
},
],
},
};
得到了这个错误
ERROR in Module build failed (from ./node_modules/postcss-loader/src/index.js):
SyntaxError
(1:1) Unknown word
> 1 | exports = module.exports = require("../../../../css-loader/dist/runtime/api.js")(false);
我试图找到并添加 css 加载器到现有的
module.exports = (config, options) => {
const rules = config.module.rules || [];
rules.forEach(rule => {
if (String(rule.test) === String(/\.css$/)) {
rule.use.push({ loader: 'css-loader', options: { modules: true }})
}
});
return config;
};
得到同样的错误。如何让它发挥作用?
更新 1:
我发现 Angular 使用 postcss,它也提供了这个功能作为插件,postcss-modules。也仍然无法使其工作。
【问题讨论】:
标签: css angular webpack webpack-style-loader css-loader