谷歌發布Angular 5,新增構建優化、增量編譯等功能,并改進了國際化支持。
Angular 5是由谷歌支持的Angular又一新大版本。從發布的一系列新功能和性能優化中,我們選取了其中一些對開發工作有更深影響的功能做詳細解讀。
構建優化。CLI 1.5生成的v5項目將默認開啟構建優化,構建生成的包更小。應用中的有些部分將在tree shaking(即刪除不需要的部分)時被標記為純輔助文件。另外,Angular裝飾器將從運行時代碼中移除,使得代碼量更小和啟動更快。
編譯。Angular編譯器支持增量構建,在使用Typescript轉換的實際項目測試中能夠減少90%的構建時間。由于大型項目的構建時間被降至2s以內,在CLI的未來版本中將會默認開啟AOT(Ahead-Of-Time)編譯模式。
統一狀態傳輸。Angular 5新增ServerTransferStateModule和BrowserTransferStateModule將服務器端渲染的狀態傳輸到客戶端,這樣就不需要在客戶端重新計算狀態。
Domino。Angular現在支持Domino,一個服務器端DOM實現,增加了更多服務器端的JavaScript組件的支持。
空白。開發者可以在裝飾器的選項或應用級的tsconfig.json文件中配置選擇保留或刪除組件空白。
國際化。Angular 5提供了日期、數值和貨幣的新處理管道,提供跨瀏覽器的更好的國際化支持,移除了相應的語法糖。更多關于如何使用I18n管道以及如何回退到舊版國際化機制的細節,可以點擊這里查看。
新版本的Angular引入了一些突破性的改變,但是沒有像從Angular 1.x切換到2時那樣的問題。其中之一是增加對TypeScript 2.4.x的依賴。此外,某些代碼塊被廢棄。如果想獲取完整的改動清單,我們建議您查看Angular的發布公告。
查看英文原文:Angular 5 Comes with Faster Incremental Compilation