Angular 8.0 发布,对框架,Angular Material和CLI进行重大更新


Angular 8.0 已于近日发布了,是构建Web,移动和桌面应用程序的流行框架的主要版本。此版本跨越框架,Angular Material和CLI。 Angular 8.0改进了现代浏览器的应用程序启动时间,提供了用于访问CLI的新API,并使Angular与生态系统和更多Web标准保持一致。

Angular背后的团队发布了一份新的指南。公共API现在将支持 N+2版本的功能。这意味着8.1中不推荐使用的功能将继续在以下两个主要版本(9和10)中运行。即使在主要版本中,团队仍将继续保持语义版本控制和高度稳定性。

在Ubuntu 18.04上安装Angular

Angular 8.0附带默认的差异加载

差异加载是浏览器根据自己的功能在现代或遗留JavaScript之间选择的过程。 CLI在用户的tsconfig.json形式ng-update中查看目标JS级别,以确定是否利用差异加载。当target设置为es2015时,CLI会生成并标记两个包。在运行时,浏览器使用脚本标记上的属性来加载正确的包。

对于Modern JS

对于Legacy JS

Angular的Route配置现在使用Dynamic Imports

以前,使用路由器延迟加载应用程序的部分是通过在路由配置中使用loadChildren键来完成的。之前的语法是自定义为Angular并内置到其工具链中。在版本8中,它被迁移到行业标准的动态导入。

{path: `/admin`, loadChildren: () => import(`./admin/admin.module`).then(m => m.AdminModule)}

这将改善VSCode和WebStorm等编辑的支持,他们现在能够理解和验证这些导入。

Angular 8.0 CLI更新

CLI中的Workspace API

以前,使用Schematics的开发人员必须手动打开并修改其angular.json以更改工作区配置。 Angular 8.0有一个新的Workspace API,可以更轻松地读取和修改此文件。工作空间API提供工作空间的底层存储格式的抽象,并提供对读取和写入的支持。目前,唯一支持的格式是Angular CLI使用的基于JSON的格式。

用于运行构建和部署过程的新Builder API

Angular 8.0在CLI中具有新的构建器API,允许开发人员利用ng build,ng test和ng run来执行构建和部署等过程。 AngularFire还有一个更新,它添加了一个部署命令,使Firebase的构建和部署比以往更容易。

ng add @angular/fire

ng run my-app:deploy

安装后,此部署命令将以AngularFire建议的方式构建和部署应用程序。

支持Web Worker

Web工作者加速了cpu密集型处理的应用程序。 Web工作者允许开发人员将工作卸载到后台线程,例如图像或视频操作。使用Angular 8.0,开发人员现在可以从CLI生成新的Web工作者。要将工作程序添加到项目,请运行:

ng生成webWorker my-worker

添加后,Web worker可以在应用程序中正常使用,CLI将能够对其进行捆绑和代码正确分割。

const worker = new Worker(`./my-worker.worker`, { type: `module` });

AngularJS的改进

统一Angular location服务

在AngularJS中,$location服务处理URLS的所有路由配置和导航,编码和解码,重定向以及与浏览器API的交互。 Angular为所有这些任务使用自己的底层Location服务。 Angular 8.0现在提供了一个LocationUpgradeModule,它启用了一个统一的位置服务,可以将职责从AngularJS $location 服务转移到Angular Location 服务。这应该改善使用ngUpgrade的应用程序的生命,ngupgrade在AngularJS和其应用程序的角部分都需要路由。

延迟加载Angular JS的改进

从Angular版本8开始,只需使用动态导入语法import(‘…’)即可完成延迟加载代码。 Angular背后的团队记录了Angular中延迟加载AngularJS应用程序部分的最佳实践,使得首先迁移最常用的功能变得更容易,并且只为应用程序的子集加载AngularJS。

这些是一些精选的更新。更多信息请参阅Angular博客的文章。

在Ubuntu 18.04上安装Angular图文详解  https://www.linuxboy.net/Linux/2019-04/157972.htm

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-05/158869.htm

相关内容