2018年5月4日,Angular6.0.0版正式發佈,新版本主要關註底層框架和工具鏈,目的在於使其變得更小更快。下麵就介紹下新版本的一些主要新特性,供大家參考。 ng update ng update 是新增的一個cli命令。通過ng update不僅可以保持正確的版本依賴,而且能保持依賴關係的同 ...
2018年5月4日,Angular6.0.0版正式發佈,新版本主要關註底層框架和工具鏈,目的在於使其變得更小更快。下麵就介紹下新版本的一些主要新特性,供大家參考。
ng update
ng update
ng add
ng add
Angular Material+CDK組件
angular6最大的補充是用於顯示分層數據的新樹組件。遵循數據表組件的模式,CDK包含核心樹指令,而Angular Material則提供與頂層的Material Design樣式相同的體驗
Material
運行命令,添加Material
ng add @angular/material
一旦添加Material之後,你就可以生成三個新的入門組件
Material Sidenav
運行命令:
ng generate @angular/material:material-nav --name=my-nav //生成一個nav組件
Material Dashboard
運行命令:
ng generate @angular/material:material-dashboard --name=my-dashboard
Material Data Table
運行命令:
ng generate @angular/material:material-table --name=my-table
如果要瞭解更多有關Material的信息,請點擊這裡
CLI工作空間
CLI6.0版本現在支持包含多個項目的工作空間,如多個應用程式或庫。CLI項目現在將使用angular.json而不是 .angular-cli.json用於構建和項目配置。
點擊查看更多配置說明
庫的支持
CLI最需要的功能之一是支持創建和構建庫
ng generate library <name>
該命令將在CLI工作區內創建一個庫項目,並對其進行配置以進行測試和構建。
ng generate library <name>
這個命令將在你的CKI工作空間創建一個庫項目,並且自動添加配置信息到angular.json文件和tsconfig.json中。
點擊查看更多關於CLI工作空間的信息
Providers的改變
為了使我們的程式變得輕量,Angular6將模塊引入服務的模式,改成服務引入模塊的模式。
6.0之前的版本服務註入
// app.module.ts
@NgModule({
...
providers: [MyService]
})
export class AppModule {}
//my-service.ts
import { Injectable } from '@angular/core';
@Injectable()
export class MyService {
constructor() { }
}
6.0之後的版本服務註入
NgModule中不再需要引入
//my-service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root',
})
export class MyService {
constructor() { }
}
Animations性能優化
新的Animations實現,不再需要 web animations polyfill。這也就意味著你可以從你的應用中移除 polyfill,這樣可以減少大約47k的空間
RxJS v6
Angular已經更新使用了RxJS v6。RxJS作為一個獨立的工程已經在幾周前完成了V6的發佈
長期支持 (LTS)
我們正在將我們的長期支持擴展到所有主要版本。
之前我們宣佈只有v4和v6是LTS版本,但為了從一個主要版本更新到下一個主要版本更容易,並給更大的項目更多時間來規劃更新,我們決定將延長對所有主要版本的長期支持從v4開始。
每個主要版本將支持18個月,大約6個月的積極開發,接下來是12個月的關鍵錯誤修正和安全補丁。
如何升級到6.0.0
按照引導對應用進行升級
更新通常遵循3個步驟,並將利用新ng update工具。
- 更新@ angular / cli
- 更新你的Angular框架包
- 更新其他依賴項
Ivy
Ivy將會是下一代渲染引擎,現在正在開發中。讓我們拭目以待吧。
原文鏈接