Angular 5將會推遲發(fā)布,因升級過程的問題
Angular 5 是由谷歌開發(fā)的流行 JavaScript 框架的下一個版本,原本計劃在九月推出。但現(xiàn)在官方宣布需要推遲發(fā)布日期,將于 10 月 23 日發(fā)布,因為開發(fā)團(tuán)隊需要更多的時間來處理升級過程的問題。
由于 Angular 5 的延遲發(fā)布,Angular 6 應(yīng)該也會被推遲到 2018 年 3 月或 4 月份發(fā)布,然后是 2018 年 9 月或 10 月發(fā)布的 Angular 7。官方承諾每個版本都與之前的版本向后兼容。
Angular 5 承諾會帶來這些功能:構(gòu)建漸進(jìn)式的 Web 應(yīng)用程序、build optimizer 和 Material Design 組件的容器。
在發(fā)布 Angular 的***個版本和改寫的 Angular 2 之后,谷歌承諾每年會進(jìn)行兩次升級。然后谷歌跳過了 Angular 3 ,去年發(fā)布了 Angular 4,目的是將框架與其使用的路由器版本號對齊。
關(guān)于 Angular 版本號的問題:
很多人看到 Angular 直接從 Angular 2 跳到了 Angular 4,那為什么沒有 Angular 3.x 呢?
原因并沒有你想的那么復(fù)雜,一句話就能描述:Angular 開始使用semver語義化版本,并做了一次版本對齊。
語義化版本就像名字所說的一樣,讓每一個版本號的添加都有其意義。這可以讓開發(fā)人員迅速明白此次升級的變動情況,而且能讓第三方工具比如 npm 可以更便捷更安全的進(jìn)行操作。
一個語義版本包括三個數(shù)字:
主版本號 | 次版本號 | 修訂號 |
---|---|---|
破壞性變更 | 功能添加,無破壞性變更 | Bug 修正,無破壞性變更 |
主版本號:當(dāng)你做了不兼容的 API 修改版本號遞增規(guī)則如下:
- 次版本號:當(dāng)你做了向下兼容的功能性新增
- 修訂號:當(dāng)你做了向下兼容的問題修正
先行版本號及版本編譯信息可以加到“主版本號.次版本號.修訂號”的后面,作為延伸。
SEMVER 詳細(xì)文檔可以參照此鏈接。
為什么沒有 Angular 3 版本?
核心 Angular 庫存儲在一個單一的 GitHub 存儲庫中,位于github.com/angular/angular。所有這些都以相同的方式進(jìn)行版本化,但作為不同的 npm 包分發(fā):
包名 | 版本 |
---|---|
@angular/core | v2.3.0 |
@angular/compiler | v2.3.0 |
@angular/compiler-cli | v2.3.0 |
@angular/http | v2.3.0 |
@angular/router | v3.3.0 |
參考:https://segmentfault.com/a/1190000008158763可以看到 @angular/router 的版本未對齊。由于router包版本的這種不對齊,并且已經(jīng)造成了一定的使用混亂。Angular 團(tuán)隊決定直接使用 Angular v4。采用這種方式,將所有的核心包對齊,這將更容易維護(hù)并且?guī)椭苊鈱淼幕靵y。