加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular-cli build prod“未加载运行时编译器”

发布时间:2020-12-17 07:32:17 所属栏目:安全 来源:网络整理
导读:我做了构建-prod并遇到了一个奇怪的错误 _zone_symbol__error : Error: Uncaught (in promise): Error: Runtime compiler is not loaded Error: Runtime compiler is not loaded at d (http://localhost:4200/polyfills.cd321326a3dfc08ceb46.bund 我没有在
我做了构建-prod并遇到了一个奇怪的错误
_zone_symbol__error
Error: Uncaught (in promise): Error: Runtime compiler is not loaded Error: Runtime compiler is not loaded at d (http://localhost:4200/polyfills.cd321326a3dfc08ceb46.bund

我没有在我的应用程序中手动使用编译器.最奇怪的是错误似乎来自polyfill.
我怎么解决这个问题?

在我的例子中,它可以为构建禁用Ahead-of-Time编译
ng build -prod --aot=false

这样,源仍然是打包和丑化的,并且包含了Just-in-Time编译器.

main.bundle js文件比使用aot编译时小,但vendor.bundle js增加约1.5 MB.

编辑2018-07-11

似乎有两种情况:

1)如果你的项目有意创建真正的动态组件,目前包含JIT编译器的唯一方法似乎是禁用生产构建的AOT.有关讨论,请参见https://github.com/angular/angular/issues/11780

2)如果您的项目不需要动态创建组件而您不知道错误发生的原因,则禁用AOT可能是一种解决方法,但要注意这些缺点.如果没有AOT,您的文件大小会更大,用户从应用程序开始需要更长的时间.在这种情况下,调查生成构建中引用JIT编译器的原因可能更为合适.

有一些SO讨论(AngularCli & AOT: ERROR Error: Runtime compiler is not loaded,Trouble shoot “Runtime compiler is not loaded”)围绕这些讨论建议延迟加载使用’COMPILER_PROVIDERS’的第三方模块可能是错误的原因.在撰写本文时,他们没有接受的答案.

有关使用延迟加载模块时的另一个陷阱的描述,请参阅此主题中的Alexei的答案

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读