谷歌发布 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 )关注我们。
评论