Angular 8 - Ivy 编译器

Ivy 编译器是Angular Team发布的最新Angular应用程序编译器。 目前,Angular 使用 View Engine 编译器来编译 Angular 应用程序。

一般来说,Angular 编译器有两个选项来编译应用程序。

即时 (JIT) 编译器

即时(JIT)编译中,编译器将与应用程序一起捆绑并发送到浏览器。 Angular 应用程序将在浏览器中编译并在应用程序执行之前运行。

尽管JIT提供了某些高级功能,JIT 会减慢编译速度,而且应用程序包的大小将是 AOT 编译器生成的大小的两倍,因为它也包含编译器。

提前 (AOT) 编译器

AOT编译中,编译器将发出优化的代码,无需任何额外步骤即可在浏览器中运行。 它将减少捆绑包的大小,并减少应用程序的编译时间和启动时间。

ivy编译器的优点

Ivy Compiler 是针对 Angular 优化的高级编译器。 从 Angular 8 开始,尽管现阶段可以使用,但它尚未完成。 Angular 团队建议开发人员在 Angular 8 中使用它。

ivy编译器的主要优点如下 −

  • 优化代码。
  • 构建时间更快。
  • 减小了包大小。
  • 更好的性能。

如何使用Ivy?

Ivy Compiler 可以通过更改下面指定的项目设置在 Angular 8 应用程序中使用 −

打开 angular.json 并将项目的 aot 选项 (projects -> -> architect -> build -> configurations -> production) 设置为 true。

{
   "projects": {
      "my-existing-project": {
         "architect": {

            "build": {
               "options": {
                  ...
                  "aot": true,
               }
            }
         }
      }
   }
}

打开tsconfig.app.json并在angularCompilerOptions下将enableIvy设置为true。

{ 
   ... 
   "angularCompilerOptions": { 
      "enableIvy": true 
}

编译并运行应用程序并受益于Ivy Compiler