在我的 Angular 项目中加载 scss 文件时发生错误。这个错误是在我从 Angular v9 迁移到 v11 后首先出现的(我按照迁移指南进行了操作,一切顺利)。
错误:
Error: ./src/styles.scss
Module build failed (from ./node_modules/@angular-devkit/build-angular/node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
TypeError: node.getIterator is not a function
对于每个无法解析的 .scss 文件,都会显示此错误。
上下文:
该项目正在使用@angular-builders/custom-webpack
webpack 构建器。我使用它是因为我们正在使用Tailwind CSS。
Webpack 有一个 postCSS 的配置:
module.exports = {
module: {
rules: [
{
test: /\.scss$/,
loader: 'postcss-loader',
options: {
postcssOptions: {
ident: 'postcss',
syntax: 'postcss-scss',
plugins: ['postcss-import', 'tailwindcss', 'autoprefixer'],
},
},
},
],
},
};
该angular.json
文件非常标准。
依赖项:
角度:^11
@angular-builders/custom-webpack: ^11
邮政编码:^8.2.6
postcss 导入:^14.0.0
postcss 加载器:^4.2.0
postcss-scss:^2.1.1
节点:v15.8.0 - (我想知道这是否是一个问题,因为我收到了一些关于软件包的警告。但是,我使用 nvm 降级了节点,并且在重新安装软件包并再次运行后出现了同样的错误。)
任何关于哪里可能出错的指示将不胜感激。