【发布时间】:2020-10-27 09:19:12
【问题描述】:
我有一个可以用 Angular 9 编译的库。但是如果我将标志更改为 --prod,这实际上会生成 "enableIvy": false,那么我会得到
[错误] RangeError: 超出最大调用堆栈大小
在 Object.pathIsRelative (...\node_modules\typescript\lib\typescript.js:5778:34)
在 tryLoadModuleUsingPathsIfEligible (...\node_modules\typescript\lib\typescript.js:28346:37)
在 tryLoadModuleUsingOptionalResolutionSettings (...\node_modules\typescript\lib\typescript.js:28334:24)
在 tryResolve (...\node_modules\typescript\lib\typescript.js:28479:28)
在 ...\node_modules\typescript\lib\typescript.js:28471:69
在 Object.forEach (...\node_modules\typescript\lib\typescript.js:309:30)
在 nodeModuleNameResolverWorker (...\node_modules\typescript\lib\typescript.js:28471:25)
在 nodeModuleNameResolver (...\node_modules\typescript\lib\typescript.js:28464:16)
在 Object.resolveModuleName (...\node_modules\typescript\lib\typescript.js:28238:30)
在 CompilerHostAdapter.getMetadataFor (...\node_modules@angular\compiler-cli\src\metadata\bundler.js:567:37)
我在function tryLoadModuleUsingPathsIfEligible(extensions, moduleName, loader, state) 函数中引入了一个控制台调试消息,它似乎是一个大约有20 个moduleNames 的循环。我必须提到,如果我在没有--prod 标志的情况下编译,我没有任何循环依赖警告。
更新:我修复了循环依赖,我没有更多的排序警告。
【问题讨论】:
-
尝试解决循环依赖,(如果它是关于注入)这个 SO:stackoverflow.com/questions/46832072/… 或这个stackoverflow.com/questions/58749172/… SO(它是关于更改模块)可以帮助你
-
@Eliseo 我修复了项目中的循环依赖项,但仍然出现相同的错误。
-
@AdrianBer,你解决了这个问题吗?
标签: angular typescript ng-packagr