Angular 13.0.0 正式发布,弃用 View Engine、停止支持 IE11
Angular 13.0.0 正式发布,此版本弃用了 View Engine ,改用 Ivy 引擎、同时停止支持 IE 11 和 4.4.2 之前的 TypeScript 版本。
弃用 View Engine
Angular 近几个版本一直在支持 Ivy 引擎 ,Angular 13 版本直接移除了 View Engine 。移除 View Engine 意味着可以减少对ngcc(Angular 兼容性编译器)的依赖,不包含元数据和摘要文件,可以更快地编译,大大提高生产力。
Angular CLI 改进
现在默认使用持久构建缓存,可以让构建速度加快68%。已有的项目要启用此功能可以将此配置添加到angular.json:
| { | |
| "$schema": "...", | |
| "cli": { | |
| "cache": { | |
| "enabled": true, | |
| "path": ".cache", | |
| "environment": "all" | |
| } | |
| } | |
| ... | |
| } |
组件 API 优化
Ivy 还改善了开发人员动态创建组件的方式,之前动态创建组件需要大量样板代码。新 API 无需ComponentFactoryResolver 注入构造函数。Ivy 支持在 ViewContainerRef.createComponent 不创建关联工厂的情况下实例化组件。
旧版本创建组件代码:
新 API,这段代码可以这样写
停止支持 IE 11
- 不支持 IE11 意味着 Angular 可以通过原生 Web API 利用现代浏览器功能,例如 CSS 变量和 Web 动画。
- 删除 IE 特定的 polyfills 和代码路径,代码减少了,程序加载也快了。
- 项目迁移期间,运行程序会自动删 IE 特定的 polyfill ,让包变得更简洁。
Angular 12 版本会一直维护到 2022 年 11 月 ,还想支持 IE 的人可以继续用 Angular 12。( IE 真是前端永远的痛,支持不一定有用,但放弃一定很轻松。)
框架和依赖项更新
Angular 13 必须用 RxJS 7.4,用 RxJS v6.x 的应用需要手动更新,用这个命令:npm install rxjs@7.4。
字体支持
Angular 11 支持内联谷歌字体,13 版本扩展了对 Adobe 字体的支持,更新完就可以直接用。
除此之外, Angular 13 还有其他更新项,如 Angular 包格式 (APF) 的更改、Angular 测试的改进等,详情可以查看更新公告。

