Angular团队透露,计划在版本12中弃用传统的编译和渲染管道ViewEngine,并用Ivy取而代之。但是,此更改不需要开发人员采取任何行动;依赖于ViewEngine的库将继续按预期与兼容的编译器ngcc一起工作。根据官方博客,在过去的一年里,Angular新的渲染和编译管道Ivy已经成为开发者的默认体验。Ivy可以使Angular更简单、更快和更易于维护。当团队首次在Angular9中启用Ivy时,他们开发了一个名为ngcc的兼容性编译器,可确保与使用视图引擎的库向后兼容。这将确保即使遗留编译和渲染管道被弃用,依赖它的库仍然可以工作。为了顺利从ViewEngine过渡,Angular计划了一个IvyLibraryDistribution并将其作为RFC与社区共享。该团队收集了大量反馈,并在Angularv11.2中发布了预览版。根据Angular团队的说法,其决定弃用ViewEngine的原因是大多数Angular开发人员已经转向Ivy。目前,所有Angular库仍然是ViewEngine格式。得益于兼容性编译器,开发人员可以在Ivy应用程序和库中使用所有这些库;但反之亦然,ViewEngine库不能依赖Ivy。为确保依赖于Angular框架和组件的库顺利过渡,它们将继续以ViewEngine格式分发。但是当Angular13发布并且大多数第三方库已经使用Ivy时,他们也计划过渡Angular及其组件。该团队指出,这一变化仅适用于新的应用程序和库,现有项目无需采取任何行动,也不会影响开发人员。对于那些拥有遗留应用程序或库所依赖的库的人,他们建议继续以ViewEngine格式分发它们,并确保在所有依赖库都移至Ivy之前不要选择加入Ivy分发。详情请查看:https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4本文转自OSCHINA本文标题:Angular12willdeprecateViewEngineandreplaceitwithivy本文地址:https://www.oschina.net/news/139419/angular-12-deprecate-view-engine
