Angular 8 - Ivy 编译器



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

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

即时 (JIT) 编译器

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

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

提前 (AOT) 编译器

AOT 编译中,编译器将发出经过优化的代码,这些代码可以在浏览器中运行,无需任何其他步骤。它将减小包的大小,并减少应用程序的编译时间和启动时间。

Ivy 编译器的优势

Ivy 编译器 是 Angular 的优化和高级编译器。截至 Angular 8,它尚未完成,尽管目前可以使用。Angular 团队建议开发者在 Angular 8 中使用它。

Ivy 编译器的主要优势如下:

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

如何使用 Ivy?

可以通过更改如下所示的项目设置在 Angular 8 应用程序中使用Ivy 编译器

打开 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 编译器带来的好处。

广告