当检测到循环依赖时如何使 ng build 命令出错

les*_*450 7 circular-dependency angular-cli

我正在使用 Angular 9,并且只要在构建目标中检测到循环依赖项,我希望我的构建就会失败。

当我使用 Angular 6 及更低版本时,我只是将循环依赖 Webkack 插件(https://www.npmjs.com/package/circular-dependency-plugin)添加到我的 webpack 配置中,并且运行良好。但是,在 Angular 9 中,我无权访问用于构建目标的构建器的 wepack 配置。我不想使用 custom:webpack 构建器。

你知道如何实现吗?我知道文件showCircularDependencies中的密钥angular.json,但它只是用于打开和关闭警告。

vbr*_*aun 3

Angular 内置的 Circular Dependency webpack 插件在 Angular 12 中已弃用,将来将被删除。检测循环依赖关系的推荐方法是使用 lint 规则或其他外部工具。ESlint 有https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-cycle.md

编辑:

ESlint 规则很慢,这也许并不奇怪,因为 ESlint 是为一次检查一个文件而设计的,而循环依赖检查都是关于全局信息的。

我们使用https://github.com/pahen/madge,速度快且效果良好。