Angular AoT和Rollup - 错误:未加载运行时编译器

时间:2017-06-01 14:52:45

标签: angular rollup angular2-aot aot

在过去的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)

我也在使用一些可能导致问题的不同角度插件(但是我找不到任何对AoT问题的引用),即MyDatePickerMyDateRangePicker。我还有几个js库,包括D3.jsmomement.js

所以我的问题是,是否有一些我做错了导致我的build.js文件抛出运行时编译器没有加载?

如果有人对此问题有任何见解,如果您需要任何特定的代码段,请与我联系,我将非常感谢,正如我所提到的,tsconfig-aot.jsonrollup-config.json与角度基本相同。 IO

提前致谢

1 个答案:

答案 0 :(得分:0)

非常感谢yurzui在评论中帮助我回答了我自己的问题。

帮助我找到加载运行时编译器的位置的方法是进入我生成的build.js并找到compileModuleAsync的使用。我在loadChildren方法中找到它,在删除它之后,项目在浏览器中成功运行。

但是,我不确定为什么loadChildren会导致编译器在汇总时加载。

希望这有帮助。