Angular 12 將棄用 View Engine 并將其替換為 Ivy
Angular 團隊透露,其計劃在第 12 版中棄用傳統編譯和渲染管道 View Engine,并用 Ivy 進行替換。不過,這一變化不需要開發者采取任何行動;依賴于 View Engine 的庫可繼續通過兼容編譯器 ngcc 按預期工作。
官方博客稱,在過去的一年里,Angular 的新渲染和編譯管道 Ivy 已經成為了開發者的默認體驗。Ivy 可以使 Angular 更簡單,更快并且更易于維護。團隊在 Angular 9 中首次啟用 Ivy 時,曾開發了一個名為 ngcc 的兼容性編譯器,該編譯器可確保與使用 View Engine 的庫的向后兼容性。這將確保即使棄用了舊版編譯和渲染管道,依賴于它的庫仍然可以正常工作。
為了順利從 View Engine 過渡,Angular 方面制定了一個 Ivy Library Distribution 計劃并將其作為 RFC 與社區共享。該團隊收集到了很多反饋,并在 Angular v11.2 中發布了預覽實現。
根據 Angular 團隊的說法,其決定棄用 View Engine 的原因在于,大多數 Angular 開發人員已轉而使用 Ivy。目前,所有 Angular 庫仍舊均為 View Engine 格式。由于具有兼容性編譯器,開發人員可以在 Ivy 應用程序和庫中使用所有這些庫;但反之則不然,View Engine 庫不能依賴 Ivy。
為了確保依賴 Angular 框架和組件的庫的平穩過渡,官方將繼續以 View Engine 格式分發它們。但當 Angular 13 發布并且大多數第三方庫都已經使用 Ivy 時,他們也計劃對 Angular 及其組件進行過渡。
該團隊指出,這一更改僅適用于新的應用程序和庫,現有項目無需采取任何措施,并且不會影響開發人員。對于那些擁有舊版應用程序或庫所依賴的庫的人,他們建議繼續以 View Engine 格式分發它們,并確保在所有依賴庫都移至 Ivy 之前,不要選擇加入 Ivy 發行版。
詳情可查看:https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4
本文轉自OSCHINA
本文標題:Angular 12 將棄用 View Engine 并將其替換為 Ivy
本文地址:https://www.oschina.net/news/139419/angular-12-deprecate-view-engine