- 開發者給出ngc命令;然後“ngc”編譯器進行編譯
將模板轉換為JavaScript代碼;編譯後的JavaScript代碼將被加載到瀏覽器中並直接執行。
- 不需要將“模板(.html文件)”和“angular編譯器腳本”加載到瀏覽器中。
- 它是一種編譯類型,在構建時運行一次,或者在構建時編譯我們的代碼。
- AOT流程:
- 編譯器將TS代碼轉換為JS代碼,這個JS已經為angular編譯過了。現在,這個編譯好的JS代碼再次被瀏覽器編譯,這樣HTML就可以被渲染了。因此,angular的特性已經被AOT編譯器處理好了,因此瀏覽器不需要太關心變更檢測、組件創建和依賴注入。
- 它由機器自己編譯代碼,通過命令行(CLI),使其更快。
- 所有的應用程序代碼一起編譯,在內襯HTML/CSS腳本。
- 這適用於生產版本。
- 如果存在任何綁定錯誤,則在構建時顯示模板綁定錯誤。
- 加載應用程序要比JIT編譯快得多。
- 引導是由“@angular / platform-browser”包中。
- 對於AOT編譯,使用以下命令:
Ng build——aot
發球——發球
- AOT編譯代碼包括完全編譯的代碼和已經優化的代碼,因此它的包大小是JIT編譯所編譯的包大小的一半。
- 優勢:
- 它提供了更好、更快的性能。因為模板已經完全編譯和優化。
- 劣勢:
- 對於應用程序代碼的每次修改,開發人員都需要在命令提示符(CLI)下手動編譯。