故障排除"未加载运行时编译器"

时间:2017-03-07 10:21:26

标签: angular

在使用--prod标志构建Angular2应用程序后,我收到以下运行时错误:

  

未加载运行时编译器

我知道生产版本使用AoT,并且在这种情况下不支持运行时编译。
我的问题是:我不知道我正在做什么需要运行时编译器。它甚至可能是我正在使用的外部组件。

如何找出导致此错误的组件?

1 个答案:

答案 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函数处创建了一个断点,在停止时我看到了导致错误的模块。