Angular2:JIT 和 AOT 编译器的区别,哪个更适合构建 angular2 应用程序?

Angular2: Difference between JIT and AOT compiler and which one is better to build angular2 app?

在阅读 Angular2 文档时,我了解到:

Angular 提供了两种编译应用程序的方法:

  1. 即时 (JIT),它会在浏览器中编译您的应用程序 运行时间
  2. 提前 (AOT),在构建时编译您的应用程序。

有什么区别和好处?

在生产中,您必须使用 AOT。 JIT 使您的服务器也将编译器代码发送到浏览器,并让客户端编译您的代码。这会增加请求开销和 bootstrap 时间。因此,为了缩小您的包大小并提高应用程序的性能,您必须使用 AOT。

此外,即使在开发环境中,您也应该始终使用 AOT。

从 angular-cli 1.5 开始,您可以将 --aot 选项与 ng serve 一起使用。这将为您提供一个类似于您的生产环境,因此您将事先了解您的应用程序在生产环境中的表现。此外,由于它会在您的服务器上编译您的代码,因此您可以在 运行 在浏览器上之前捕获错误。

在即将推出的 Angular-Cli 版本中,AOT 将成为 ng serve 上的默认选项。