Angular CLI 8.3.0发布,增加新的部署命令并改进差异化加载

Angular开发团队发布了新的CLI 8.3版本,加入一个新的部署指令,并改进之前Angular 8.0加入的差异化加载(Differential Loading)功能。

从Angular CLI 8.3开始,新加入的部署指令,可以让开发者执行与项目相关联的部署CLI构建器。有许多第三方构建器,实例了不同平台的部署功能,开发者可以使用ng add指令将其附加到项目中,在为项目添加了部署功能组件后,项目的angular.json文件将自动更新,开发者就能使用ng deploy指令简单地部署项目。

目前该部署指令支持Firebase、Azure、Zeit、Netlify和GitHub,当然开发者也可自行开发构建器,将项目部署到自己托管的服务器,或是其他第三方构建器未支持的云计算平台。

在Angular 8.0加入的差异化加载功能,让浏览器能根据支持的功能,选择加载新版抑或是旧版的JavaScript程序代码,新版的应用程序使用ES6规范,而旧版的则使用ES5的ECMAScript版本构建。差异化加载让开发者准备两组程序包,当浏览器加载应用程序的时候,会自动获得需要的程序版本。而这项功能的目的,是要最大程度提高网页应用程序对浏览器的兼容性,虽然现在大部分的浏览器都支持ES6,但是仍有少部分用户还在使用旧版浏览器。

差异化加载功能虽然能够增加浏览器兼容性,但是也需要为正式生产应用程序花费两倍的构建时间,而Angular CLI 8.3为了解决这个问题,改变了命令执行的方式,现在系统会优先构建ES6的应用程序,并且直接产生降阶ES5版本,而不再从头开始创建ES5应用程序。但这样的方式应用程序可能会遭遇问题,开发者也可以配置使用先前的形式。