为什么Angular 2 有模板的JiT 编译?

Why does Angular 2 have JiT compilation for templates?

在 运行 时间内在浏览器中对 Angular 2 HTML 模板进行 JiT 编译的基本原理是什么?

我知道,Ahead-of-time compilation 的存在就是为了解决这个问题,它极大地提高了启动性能。

我不是在问我应该使用 JiT 还是 AoT 编译。

TypeScript 编译器能够编译 JSX,这是否意味着有一天我们将获得对 Angular 2 模板的相同支持以替代 @angular/compiler-cli

制作

如果组件是在运行时动态创建的,例如从数据库加载模板标记时,这是必需的。

我认为应该避免这种方法,但有些用例很难用其他方法解决。

还有人讨论说,AoT 会导致某些应用程序的代码量更大,这会占用 AoT 编译组件所需的更短初始化时间。

你的用例的最佳选择取决于你的应用程序以及 Angular2 团队将能够完成的优化(我很确定他们正在试验很多想法来获得更小的构建输出和更短的初始化时间)

另见 How to realize website with hundreds of pages in Angular2

发展 这在开发过程中也很方便,因为编辑-重新加载周期更快,但对于生产(部署)您通常需要 AoT。