Angular 7 版本
这是跨整个平台的主要版本,更新包括核心框架,Angular Material和CLI。
如何更新到v7
可以访问update.angular.io以获取有关更新应用程序的详细信息和指导。
其中大多数应用只需要执行以下命令:
ng update @angular/cli @angular/core
CLI提示
现在,CLI将在运行常用命令时提示用户,ng new
或者ng add @angular/material
帮助您发现路由或SCSS支持等内置功能。
CLI提示已添加到Schematics
中,因此任何包发布Schematics
都可以通过向x-prompt
来利用它们,例如
"routing": {
"type": "boolean",
"description": "Generates a routing module.",
"default": false,
"x-prompt": "Would you like to add Angular routing?"
},
应用性能
reflect-metadata
我们继续关注绩效,分析了整个生态系统中的常见错误。我们发现许多开发人员将reflect-metadata
包包括在生产中,实际上这只是在开发中需要的。
为了解决此问题,v7的部分更新将自动从polyfills.ts
文件中删除它,然后在JIT
模式下构建应用程序时将其作为构建步骤包含在内,默认情况下从生成版本中删除。
压缩包大小
使用v7,我们还默认新项目在CLI中利用压缩包大小管理。当初始捆绑包超过2MB并且错误为5MB时,新应用程序将发出警告。如果想修改默认大小的话可以在angular.json
管理
"budgets": [{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}]
Angular Material & the CDK
- 现在可以通过导入
DragDropModule
或ScrollingModule
实现虚拟滚动和拖拽。 - 通过在
mat-form-field
内部使用select
来改进应用程序的可访问性。
Angular Elements
Angular Elements现在支持使用自定义元素的Web标准进行内容投影。
<my-custom-element>This content can be projected!</my-custom-element>
文档更新
我们一直在努力改进我们的指南和参考资料。angular.io上的文档现在包含Angular CLI
的参考资料。
依赖更新
我们更新了对主要第三方项目的依赖关系。
- TypeScript 3.1
- RxJS 6.3
- Node 10 我们已经添加了对Node 10的支持,我们仍然支持8