Error upgrading from angular 11.2 to 12.2 - styles.css - Error: (0 , _identifier.getUndoPath) is not a function

Error upgrading from angular 11.2 to 12.2 - styles.css - Error: (0 , _identifier.getUndoPath) is not a function

如标题所示,在使用 ng cli 从 angular 11.2 升级到 12.2 后,我在构建 angular 应用程序时遇到错误:

styles.css - Error: (0 , _identifier.getUndoPath) is not a function

我没有 styles.css 文件(使用 styles.scss),也没有看到任何引用该文件的地方。知道问题出在哪里吗?

您可能需要检查 styles.css 是否被导入并在代码中的任何地方使用。

当我将 angular 框架升级到 12 时,我遇到了许多 scss 问题。问题是@angular/cli 包将资产文件夹中的包解释为外部链接。我现在已经将我的 angular 版本降级到 11。如果你能设法将你的 assets 目录解释为 ,问题可能就解决了。

angular.json

中有这样的东西
"assets": [
              ...
              {
                "glob": "**/*.scss",
                "input": "src/assets/",
                "ignore": ["**/*.scss"],
                "output": "/assets/"
              },
              {
                "glob": "**/*.md",
                "input": "docs",
                "output": "/assets/docs"
              }
            ],

@angular-devkit/build-angular@12.2.0 似乎是问题所在。将它降级到 12.1.1 为我解决了这个问题(而 Angular 团队修复了真实的问题)

对我来说,降级@angular-devkit/build-angular包没有用,但我看起来有点小丑,我看到webpack正在调用这个函数,所以我升级了webpack包(“webpack”:“ ^5.50.0"), 这解决了问题。

通过在 devDependencies 中安装 mini-css-extract-plugin 为我修复。

https://github.com/angular/angular-cli/issues/21628#issuecomment-909388037

对我来说,删除 package.lock & node_modules/* 解决了这个问题。

来源:https://github.com/angular/angular-cli/issues/21567 | https://github.com/angular/angular-cli/issues/21628

我的版本是v12.2.7,解决方法是npm i webpack