Angular - Ivy 編譯器



Ivy 編譯器是 Angular 團隊釋出的最新 Angular 應用編譯器。目前,Angular 使用View Engine編譯器來編譯 Angular 應用。

一般來說,Angular 編譯器有兩種編譯應用的方式。

即時 (JIT) 編譯器

即時 (JIT)編譯中,編譯器將與應用程式一起打包併發送到瀏覽器。Angular 應用將在瀏覽器中編譯,並在應用執行前執行。

儘管JIT提供了一些高階特性,但JIT會減慢編譯速度,並且應用包的大小也會是AOT編譯器生成的的兩倍,因為它也包含了編譯器。

提前 (AOT) 編譯器

AOT編譯中,編譯器將發出最佳化的程式碼,可以直接在瀏覽器中執行,無需任何額外步驟。這將減小包的大小,並縮短應用的編譯時間和啟動時間。

Ivy 編譯器的優點

Ivy 編譯器是 Angular 的最佳化和高階編譯器。雖然目前尚未完全完成,但在 Angular 中已經可以使用。Angular 團隊建議開發者在 Angular 中使用它。

Ivy 編譯器的主要優點如下:

  • 最佳化後的程式碼。
  • 更快的構建時間。
  • 更小的包大小。
  • 更好的效能。

如何使用 Ivy?

可以透過更改專案設定來在 Angular 應用中使用Ivy 編譯器,如下所示:

開啟 `angular.json` 並將專案的 `aot` 選項設定為 `true` (**projects -> -> architect -> build -> configurations -> production**)。

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

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

開啟 `tsconfig.app.json`,並在 `angularCompilerOptions` 下將 `enableIvy` 設定為 `true`。

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

編譯並執行應用程式,即可體驗Ivy 編譯器帶來的好處。

廣告