Angular 21.1.0 正式版已正式发布。此次更新虽非颠覆性变革,但多个核心模块的改进与优化,充分体现了开发团队在提升开发者体验方面的细致打磨。下面逐块深入解读,梳理本次版本值得关注的变化。
common 模块新增两项实用增强:Cloudflare 与 Cloudinary 图像加载器现已支持自定义转换参数,灵活性显著提升;同时,ImageKit 与 Imgix 加载器同样开放了用户自定义图像处理参数的接口。对于需要频繁对接多种图片服务的项目而言,这一改进无疑能大幅简化配置工作。
compiler 方面,引入了多分支 switch case 匹配机制,并支持空 case(empty cases)语法。以往编写 switch 语句时那些冗余的占位写法,如今可以更优雅地处理,代码更加简洁。
core 是本轮更新的重点。团队内置了一个稳定性调试辅助工具,专用于诊断变更检测问题——该功能对排查性能瓶颈极为实用。此外,函数调用中现在允许使用剩余参数(rest parameters),数组字面量支持嵌入展开表达式(spread elements),对象字面量也支持扩展运算符(spread expressions)。更值得关注的是微任务(microtask)调度逻辑的调整:系统将始终等待所有同步应用代码执行完毕后,才触发微任务,从而避免一些隐蔽的时序问题。providePlatformInitializer 方法也做了类型优化,现在返回 StaticProvider 类型,类型定义更清晰易用。
forms 新增一项贴心的小功能:可以通过字段状态(field state)直接聚焦绑定的表单控件。开发者无需再手动操作 DOM 引用,代码更加简洁直观。
platform-browser 改进了 createApplication API,增加了上下文(context)参数支持,同时在创建过程中能解析即时编译(JIT)资源。这对需要动态初始化应用的场景来说,是一个显著的提升点。
router 的改动较多。新增了路由清理策略控制选项,导航过程中可以精细化配置滚动行为(scroll behavior)。还提供了独立的工具函数用于计算路由激活状态(isActive),免去自行编写守卫逻辑的麻烦。RunGuardsAndResolvers 函数现在于注入上下文中执行,确保了依赖注入的一致性。RedirectFunction 的参数列表增加了 paramMap 与 queryParamMap 输入,使重定向逻辑可以更灵活地读取查询参数。此外,通配符路由现在支持带尾随段(trailing segments)的参数匹配(#64737),解决了之前一些边界匹配问题。
upgrade 模块主要是一则弃用通知:来自 @angular/upgrade 的 VERSION 常量已被标记为弃用(deprecated)。如果你仍在使用 AngularJS 升级路径,建议提前检查代码中对该常量的引用,并准备迁移方案。
弃用说明
upgrade
- 来自
@angular/upgrade的VERSION常量已被弃用
