从Angular 11.2升级到12.2时出现错误 - styles.css - 错误:(0,_identifier.getUndoPath)不是函数。

11

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

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

我没有样式文件styles.css(使用styles.scss),也没有看到任何地方引用该文件。你有什么想法可能是问题所在吗?

7个回答

13

@angular-devkit/build-angular@12.2.0 似乎是问题所在,将其降级至 12.1.1 可以为我解决问题(同时 Angular 团队会修复真正的问题)。


1
谢谢,我选择了12.1.4版本,现在它又可以正常工作了。 - Lee Warner
2
真正的答案可能就是删除 package.lock 和 node_modules/。 - Yohan Dahmani
删除 package-lock.json 和 node_modules 对我没有起作用。 - BlackICE
我在将Angular 12升级到13之后遇到了相同的问题。 - Vitthal Mahale

4

4

对我来说,降级@angular-devkit/build-angular包没有起作用,但我深入了解之后发现webpack调用了这个函数,所以我升级了webpack包("webpack": "^5.50.0"),问题得到了解决。


这帮了我,我之前用的是老版本的Webpack导致了问题。 - Kevin Oswaldo

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

你的回答可以通过提供额外的支持信息来改进。请编辑以添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

0

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

类似于这样在angular.json中:

"assets": [
              ...
              {
                "glob": "**/*.scss",
                "input": "src/assets/",
                "ignore": ["**/*.scss"],
                "output": "/assets/"
              },
              {
                "glob": "**/*.md",
                "input": "docs",
                "output": "/assets/docs"
              }
            ],


0

0
你可能想检查一下你的代码中是否导入并使用了 styles.css 文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接