在使用–prod标志构建Angular2应用程序后,我收到以下运行时错误:
Runtime compiler is not loaded
我知道生产版本使用AoT,并且在这种情况下不支持运行时编译.
我的问题是:我不知道我正在做什么需要运行时编译器.它甚至可能是我正在使用的外部组件.
如何找出导致此错误的组件?
解决方法
当我尝试使用模块类型而不是路径来使用延迟模块加载时,我遇到了与AoT编译类似的问题.
正确装载:
{ path: 'lazy',loadChildren: 'lazy/lazy.module#LazyModule' }
方式,我做到了(崩溃AoT):
export function loadLazyModule() { return LazyModule; } export const appRoutes: Routes = [ { path: 'lazy',loadChildren: loadLazyModule,},];
实际上,错误消息根本没有用,但堆栈跟踪是:
at Compiler.compileModuleAsync (core.js:3664) at MergeMapSubscriber.eval [as project] (router.js:4467)