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
猜你喜欢: