Angular AoT and Rollup - Error: Runtime compiler is not loaded
Angular AoT and Rollup - Error: Runtime compiler is not loaded
在过去的 6 个月里,我一直在使用 Angular 构建一个仪表板应用程序,在那段时间里,我使用 JiT 编译和 gulp 浏览器同步来获得即时更新,这是一个非常好的开发工作流程当我进行更改时。效果很好。
我已经到了很高兴部署生产版本的地步,但是,我 运行 遇到 AoT 和汇总的问题。
我遵循了 angular.io 指南,但得到了以下结果
ERROR Error: Uncaught (in promise): Error: Runtime compiler is not loaded
Error: Runtime compiler is not loaded
at _throwError (build.js:5036)
at Compiler.compileModuleAsync (build.js:5065)
at MergeMapSubscriber.project (build.js:34798)
at MergeMapSubscriber._tryNext (build.js:30450)
at MergeMapSubscriber._next (build.js:30440)
at MergeMapSubscriber.Subscriber.next (build.js:425)
at ScalarObservable._subscribe (build.js:846)
at ScalarObservable.Observable._trySubscribe (build.js:708)
at ScalarObservable.Observable.subscribe (build.js:696)
at MergeMapOperator.call (build.js:30415)
at _throwError (build.js:5036)
at Compiler.compileModuleAsync (build.js:5065)
at MergeMapSubscriber.project (build.js:34798)
at MergeMapSubscriber._tryNext (build.js:30450)
at MergeMapSubscriber._next (build.js:30440)
at MergeMapSubscriber.Subscriber.next (build.js:425)
at ScalarObservable._subscribe (build.js:846)
at ScalarObservable.Observable._trySubscribe (build.js:708)
at ScalarObservable.Observable.subscribe (build.js:696)
at MergeMapOperator.call (build.js:30415)
at resolvePromise (zone.js:769)
at resolvePromise (zone.js:740)
at zone.js:817
at ZoneDelegate.invokeTask (zone.js:424)
at Object.onInvokeTask (build.js:6048)
at ZoneDelegate.invokeTask (zone.js:423)
at Zone.runTask (zone.js:191)
at drainMicroTaskQueue (zone.js:584)
at ZoneTask.invoke (zone.js:490)
我还使用了一些可能导致问题的不同 angular 插件(但是我找不到任何关于 AoT 问题的参考),即 MyDatePicker
和 MyDateRangePicker
.我还有几个 js 库,包括 D3.js
和 momement.js
所以我的问题是,是不是我做错了什么导致我的 build.js 文件抛出 运行编译器未加载?
如果有人对这个问题有任何见解,如果您需要任何特定的代码片段让我知道,我们将不胜感激,正如我提到的,我的 tsconfig-aot.json
和 rollup-config.json
与angular.io
提前致谢
非常感谢 yurzui 在评论中帮助我回答我自己的问题。
帮助我找到运行时编译器加载位置的方法是进入我生成的 build.js 并找到 compileModuleAsync
的使用。我在 loadChildren
方法中找到它,删除它后在浏览器中成功使用项目 运行。
但是,我不确定为什么 loadChildren 会导致编译器在汇总时加载。
希望对您有所帮助。
在过去的 6 个月里,我一直在使用 Angular 构建一个仪表板应用程序,在那段时间里,我使用 JiT 编译和 gulp 浏览器同步来获得即时更新,这是一个非常好的开发工作流程当我进行更改时。效果很好。
我已经到了很高兴部署生产版本的地步,但是,我 运行 遇到 AoT 和汇总的问题。
我遵循了 angular.io 指南,但得到了以下结果
ERROR Error: Uncaught (in promise): Error: Runtime compiler is not loaded
Error: Runtime compiler is not loaded
at _throwError (build.js:5036)
at Compiler.compileModuleAsync (build.js:5065)
at MergeMapSubscriber.project (build.js:34798)
at MergeMapSubscriber._tryNext (build.js:30450)
at MergeMapSubscriber._next (build.js:30440)
at MergeMapSubscriber.Subscriber.next (build.js:425)
at ScalarObservable._subscribe (build.js:846)
at ScalarObservable.Observable._trySubscribe (build.js:708)
at ScalarObservable.Observable.subscribe (build.js:696)
at MergeMapOperator.call (build.js:30415)
at _throwError (build.js:5036)
at Compiler.compileModuleAsync (build.js:5065)
at MergeMapSubscriber.project (build.js:34798)
at MergeMapSubscriber._tryNext (build.js:30450)
at MergeMapSubscriber._next (build.js:30440)
at MergeMapSubscriber.Subscriber.next (build.js:425)
at ScalarObservable._subscribe (build.js:846)
at ScalarObservable.Observable._trySubscribe (build.js:708)
at ScalarObservable.Observable.subscribe (build.js:696)
at MergeMapOperator.call (build.js:30415)
at resolvePromise (zone.js:769)
at resolvePromise (zone.js:740)
at zone.js:817
at ZoneDelegate.invokeTask (zone.js:424)
at Object.onInvokeTask (build.js:6048)
at ZoneDelegate.invokeTask (zone.js:423)
at Zone.runTask (zone.js:191)
at drainMicroTaskQueue (zone.js:584)
at ZoneTask.invoke (zone.js:490)
我还使用了一些可能导致问题的不同 angular 插件(但是我找不到任何关于 AoT 问题的参考),即 MyDatePicker
和 MyDateRangePicker
.我还有几个 js 库,包括 D3.js
和 momement.js
所以我的问题是,是不是我做错了什么导致我的 build.js 文件抛出 运行编译器未加载?
如果有人对这个问题有任何见解,如果您需要任何特定的代码片段让我知道,我们将不胜感激,正如我提到的,我的 tsconfig-aot.json
和 rollup-config.json
与angular.io
提前致谢
非常感谢 yurzui 在评论中帮助我回答我自己的问题。
帮助我找到运行时编译器加载位置的方法是进入我生成的 build.js 并找到 compileModuleAsync
的使用。我在 loadChildren
方法中找到它,删除它后在浏览器中成功使用项目 运行。
但是,我不确定为什么 loadChildren 会导致编译器在汇总时加载。
希望对您有所帮助。