7角

預編譯(AOT)

預編譯(AOT)

  1. 開發者給出ngc命令;然後“ngc”編譯器進行編譯

將模板轉換為JavaScript代碼;編譯後的JavaScript代碼將被加載到瀏覽器中並直接執行。

  1. 不需要將“模板(.html文件)”和“angular編譯器腳本”加載到瀏覽器中。
  2. 它是一種編譯類型,在構建時運行一次,或者在構建時編譯我們的代碼。
  3. AOT流程:
  • 編譯器將TS代碼轉換為JS代碼,這個JS已經為angular編譯過了。現在,這個編譯好的JS代碼再次被瀏覽器編譯,這樣HTML就可以被渲染了。因此,angular的特性已經被AOT編譯器處理好了,因此瀏覽器不需要太關心變更檢測、組件創建和依賴注入。
  1. 它由機器自己編譯代碼,通過命令行(CLI),使其更快。
  2. 所有的應用程序代碼一起編譯,在內襯HTML/CSS腳本。
  3. 這適用於生產版本。
  4. 如果存在任何綁定錯誤,則在構建時顯示模板綁定錯誤。
  5. 加載應用程序要比JIT編譯快得多。
  6. 引導是由“@angular / platform-browser”包中。
  7. 對於AOT編譯,使用以下命令:

Ng build——aot

發球——發球

  1. AOT編譯代碼包括完全編譯的代碼和已經優化的代碼,因此它的包大小是JIT編譯所編譯的包大小的一半。
  2. 優勢:
  • 它提供了更好、更快的性能。因為模板已經完全編譯和優化。
  1. 劣勢:
  • 對於應用程序代碼的每次修改,開發人員都需要在命令提示符(CLI)下手動編譯。
Baidu
map