Angular 5 携更快速的增量编译功能发布

  • Abel Avram
  • 张健欣

2017 年 11 月 7 日

话题:JavaScript语言 & 开发

谷歌发布 Angular 5,新增构建优化、增量编译等功能,并改进了国际化支持。

Angular 5是由谷歌支持的 Angular 又一新大版本。从发布的一系列新功能性能优化中,我们选取了其中一些对开发工作有更深影响的功能做详细解读。

构建优化。CLI 1.5 生成的 v5 项目将默认开启构建优化,构建生成的包更小。应用中的有些部分将在 tree shaking(即删除不需要的部分)时被标记为纯辅助文件。另外,Angular 装饰器将从运行时代码中移除,使得代码量更小和启动更快。

编译。Angular 编译器支持增量构建,在使用 Typescript 转换的实际项目测试中能够减少 90% 的构建时间。由于大型项目的构建时间被降至 2s 以内,在 CLI 的未来版本中将会默认开启 AOT(Ahead-Of-Time)编译模式。

统一状态传输。Angular 5 新增 ServerTransferStateModule 和 BrowserTransferStateModule 将服务器端渲染的状态传输到客户端,这样就不需要在客户端重新计算状态。

Domino。Angular 现在支持Domino,一个服务器端 DOM 实现,增加了更多服务器端的 JavaScript 组件的支持。

空白。开发者可以在装饰器的选项或应用级的 tsconfig.json 文件中配置选择保留或删除组件空白。

国际化。Angular 5 提供了日期、数值和货币的新处理管道,提供跨浏览器的更好的国际化支持,移除了相应的语法糖。更多关于如何使用 I18n 管道以及如何回退到旧版国际化机制的细节,可以点击这里查看。

新版本的 Angular 引入了一些突破性的改变,但是没有像从 Angular 1.x 切换到 2 时那样的问题。其中之一是增加对 TypeScript 2.4.x 的依赖。此外,某些代码块被废弃。如果想获取完整的改动清单,我们建议您查看 Angular 的发布公告

查看英文原文:Angular 5 Comes with Faster Incremental Compilation


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

JavaScript语言 & 开发