启用 AoT 时 Angular 应用出现运行时错误

Runtime error on Angular app when AoT is enabled

我最近将我应用程序的 Angular 版本从 2.4 更新到 5.1.2,遵循此工具中的指南:https://angular-update-guide.firebaseapp.com/。我也在使用 angular-cli 1.6.3

现在,更新后,在 运行 ng serve 时一切都可以在开发模式下运行。 ng build(带或不带 --aot 标志)也运行无误。但是,ng serve --aotng serve --prod 会产生运行时错误:

我发现很难调试这个问题,因为堆栈跟踪没有指向我编写的任何文件。可能是自举问题?

此时我不是在寻找问题的完整解决方案,而是关于我可以从哪里开始寻找的建议。

到目前为止我已经尝试过:

我一直没弄清楚真正的问题是什么,但它肯定与动画有关。当我完全禁用应用程序的动画时,错误消失了,这并不理想,但可以作为临时修复,直到我有更多时间重新编写任何模块 and/or 曾经使用动画的组件。

我的 angular 包,来自 npm,没有匹配的版本号。对齐所有库版本后,我能够同时使用 ng serve --aotng serve --prod

如果运行时能够在 AOT 出现之前温和地处理内部兼容性,这将是有意义的。现在我们有了 AOT,性能是关键,所以运行时故障保险已被剥离。

动画效果也很好。