Angular 文档指定了使用 AOT 编译来支持 JIT的几个原因:
- 更快的渲染
- 更少的异步请求
- 较小的 Angular 框架下载大小
- 更早地检测模板错误
- 更好的安全性
但是,在寻找使用 JIT 的参数时,我没有找到。此外,在从 Angular 5.2 升级到 Angular 8后,我在运行开发构建(使用 JIT)时突然遇到一个奇怪的错误。错误是:
ERROR in ./src/app/shared/app-configuration/shared/app-configuration.model.ts 22:16-35
"export 'IMyComponents' was not found in '@mycompany/mypackage'
运行产品构建(使用 AOT)时,一切都很好。这让我感到惊讶,因为我从未遇到过prod 构建成功而dev 构建失败的 Angular 编译问题。
所以我的假设是 JIT 只适用于开发构建(即速度)。添加--aot标志可以安全地完成,没有任何问题。还是我错过了什么?