angular-cli build prod“未加载运行时编译器”
我做了构建-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的答案 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |