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