在使用--prod
标志构建Angular2应用程序后,我收到以下运行时错误:
未加载运行时编译器
我知道生产版本使用AoT,并且在这种情况下不支持运行时编译。
我的问题是:我不知道我正在做什么需要运行时编译器。它甚至可能是我正在使用的外部组件。
如何找出导致此错误的组件?
答案 0 :(得分:0)
当我尝试使用模块类型而不是路径来使用延迟模块加载时,我遇到了与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)
我刚刚在compileModuleAsync
函数处创建了一个断点,在停止时我看到了导致错误的模块。