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 編譯器帶來的好處。

廣告