angular - Angular 9 ng build --prod 中的“超出最大调用堆栈大小”用于库
问题描述
我有一个可以使用 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)
,它似乎是一个大约 20moduleName
秒的循环。--prod
我必须提到,如果我在没有标志的情况下编译,我没有任何循环依赖警告。
更新:我修复了循环依赖,我没有更多的警告。
解决方案
我有同样的问题angular 12.1.1
,我没有循环依赖,解决方案是更改"enableIvy: false"
为"compilationMode": "partial"
.
请参阅角度文档。
推荐阅读
- mongoose - 适配器类型“mongoose”不支持字段类型“CloudinaryImage”
- r - 我应该使用哪种旋转方法进行因子分析?
- c# - 从对象 C# 获取参数名称列表
- angular - 如何删除对primeng列表框元素的点击,仅使用复选框属性
- debugging - 如何在 python grpc 服务器中启用二进制日志?
- telegram-bot - 如何知道 MediaGroup 电报中的消息数或最后一条消息
- selenium-chromedriver - 如何使用 Selenium Python 检查伪元素 ::after 是否存在
- flutter - 如何通过快速滑动使列表视图不“跳过”项目?
- c++ - 如何在 C++ 编译时生成查找表?
- javascript - 如何创建一个递增日期的数组?