Angular 8 - Ivy 编译器


Ivy Compiler是 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编译器的主要优点如下:

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

如何使用常春藤?

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

打开 angular.json 并将项目的aot 选项(项目 -> -> 架构师 -> 构建 -> 配置 -> 生产)设置为 true。

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

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

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

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

编译并运行应用程序并从Ivy Compiler中受益。