
2024年11月19日,Angular v19很快就跟大家见面了。那么Angular19会带来哪些变化呢?
输入、输出和模型功能将从开发者预览中过渡出来,“@let”指令也将达到稳定状态。此外,信号查询(例如viewChild()
、 contentChild()
和children
)将在 Angular v19 中提升为稳定状态。 Angular 还将提供原理图来帮助您转换为这些指令。
最大的变化之一是“standalone”现在在组件装饰器中默认设置为 true。 Angular 团队还将提供示意性迁移,以在必要时删除“standalone: true”,并将 NgModules 中注册的组件的“standalone”设置为 false。
现在如果一个组件不是独立组件的时候需要设置standalone=false。
如果您已经过渡到独立组件,那么是时候增强开发人员体验了。在 Angular v19 中,编译器将通知您任何未使用的导入,帮助您优化代码并减小包的大小。详细可以看这里。
provideAppInitializer
:增强 Angular 中的应用程序初始化Angular 通过引入新的应用程序初始化函数来继续增强开发人员体验: provideAppInitializer
。以前,开发人员可以利用像provideRoutes
和provideHttpClient
这样的核心功能来设置他们的路由和http后端。现在,Angular 通过provideAppInitializer
添加了另一层便利,简化了设置过程,并使开发人员能够更有效地配置他们的应用程序。
@angular/core
包经历了显着的收缩,从 44.6MB 减少到仅 9.12MB。
@angular/common包,从11.5 MB减少到9.5 MB。
当然所有其他包也变得更加轻量,具体的可以去npm看看!
但是,这不会影响您的应用程序的整体包大小。
allowSignalWrites
在 Angular v19 中,全面放弃对IE和非Chromium内核的Edge浏览器的支持,以简化开发并提高性能。这一决定使 Angular 团队能够专注于现代功能和增强功能,确保更强大、更高效的框架。我们鼓励开发人员更新其应用程序以支持最新的浏览器版本,以充分利用新功能和优化。
Zoneless一直是社区很关注的一个问题,有可能在Angular19的时候稳定。