Google已经正式发布了Angular 7。Angular 7是Google推出的Web框架的一个新的主要版本。新版本带来了虚拟滚动、拖放、CLI Prompts等。
Angular CLI开发人员用来初始化、开发、搭建和维护Angular应用程序的命令行工具,现在在开发人员运行诸如ng new或ng add @angular/material之类的常用命令时会给出提示,旨在帮助开发人员发现内置的特性,如路由或SCSS支持。此外,任何发布Schematics的软件包都可以通过在Schematics集合中添加x-prompt来使用它们。
"routing": {
"type": "boolean",
"description": "Generates a routing module.",
"default": false,
"x-prompt": "Would you like to add Angular routing?"
},
Angular Budgets是一项允许开发人员在angular.json配置文件中设置预算阈值的功能,以确保应用程序的某些部分保持在界定的大小范围内。Budgets在Angular 7中的性能得到了改进,当应用程序的初始捆绑包大小超过2MB时会向开发人员发出警告,并在包大小达到5MB时抛出一个错误。定制这些预算很容易:
"budgets": [{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}]
与性能相关的另一个改进是Angular 7将从生产环境的polyfill.ts文件中移除reflect-metadata,这个polyfill只在开发阶段有需要,但很多开发人员都将其包含在生产环境中。
虚拟滚动已被添加到CDK中,可以基于列表的可见部分从DOM加载和卸载元素,并且可以为具有非常大的可滚动列表的用户构建非常快速的体验。
<cdk-virtual-scroll-viewport itemSize="50" class="example-viewport">
<div *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
</cdk-virtual-scroll-viewport>
CDK中添加的另一个特性是拖放支持。它使开发人员能够通过声明方式轻松地创建拖放界面,支持自由拖动、列表排序、在列表间传输项、动画、触摸设备等。
对于大多数开发人员,只需要执行一个命令就可以更新到Angular 7:
ng update @angular/cli @angular/core
有关将应用程序更新到Angular 7的详细信息和指导,请访问update.angular.io。根据Google的说法,早期采用者报告称这个版本的更新速度比以往都要快,很多应用程序的更新时间不到10分钟。
文档也得到更新,现在包含了Angular CLI的参考资料。发行说明中提供了完整的变更列表。