Angular 5 是由谷歌开发的流行 JavaScript 框架的下一个版本,原本计划在九月推出。但现在官方宣布需要推迟发布日期,将于 10 月 23 日发布,因为开发团队需要更多的时间来处理升级过程的问题。
由于 Angular 5 的延迟发布,Angular 6 应该也会被推迟到 2018 年 3 月或 4 月份发布,然后是 2018 年 9 月或 10 月发布的 Angular 7。官方承诺每个版本都与之前的版本向后兼容。
Angular 5 承诺会带来这些功能:构建渐进式的 Web 应用程序、build optimizer 和 Material Design 组件的容器。
在发布 Angular 的***个版本和改写的 Angular 2 之后,谷歌承诺每年会进行两次升级。然后谷歌跳过了 Angular 3 ,去年发布了 Angular 4,目的是将框架与其使用的路由器版本号对齐。
关于 Angular 版本号的问题:
很多人看到 Angular 直接从 Angular 2 跳到了 Angular 4,那为什么没有 Angular 3.x 呢?
原因并没有你想的那么复杂,一句话就能描述:Angular 开始使用semver语义化版本,并做了一次版本对齐。
语义化版本就像名字所说的一样,让每一个版本号的添加都有其意义。这可以让开发人员迅速明白此次升级的变动情况,而且能让第三方工具比如 npm 可以更便捷更安全的进行操作。
一个语义版本包括三个数字:
主版本号 | 次版本号 | 修订号 |
---|---|---|
破坏性变更 | 功能添加,无破坏性变更 | Bug 修正,无破坏性变更 |
主版本号:当你做了不兼容的 API 修改版本号递增规则如下:
- 次版本号:当你做了向下兼容的功能性新增
- 修订号:当你做了向下兼容的问题修正
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
SEMVER 详细文档可以参照此链接。
为什么没有 Angular 3 版本?
核心 Angular 库存储在一个单一的 GitHub 存储库中,位于github.com/angular/angular。所有这些都以相同的方式进行版本化,但作为不同的 npm 包分发:
包名 | 版本 |
---|---|
@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包版本的这种不对齐,并且已经造成了一定的使用混乱。Angular 团队决定直接使用 Angular v4。采用这种方式,将所有的核心包对齐,这将更容易维护并且帮助避免将来的混乱。