澳门新葡亰信誉平台游戏Angular2平滑升级到Angular4的步骤详解_AngularJS_脚本之家

by admin on 2020年4月22日

在12月8-9日的 NG-BE, Belgium’s first Angular
conference (比利时首次 Angular 会议)上,Angular
首席开发 Igor Minar 提到了关于 Angular
后续版本发布时间的相关信息。

原文出处:开源中国社区

前言

没有 Angular 3 ,Angular 4 计划2017年3月发布。

Angular 5 是由谷歌开发的流行 JavaScript
框架的下一个版本,原本计划在九月推出。但现在官方宣布需要推迟发布日期,将于
10 月 23 日发布,因为开发团队需要更多的时间来处理升级过程的问题。

Angular4终于在两天前发布了正式版本,那么怎么升级呢?其实Angular2和Angular4之间属于平滑过渡,并不像1和2之间颠覆性的重写代码。

澳门新葡亰信誉平台游戏 1

由于 Angular 5 的延迟发布,Angular 6 应该也会被推迟到 2018 年 3 月或 4
月份发布,然后是 2018 年 9 月或 10 月发布的 Angular
7。官方承诺每个版本都与之前的版本向后兼容。

Angular4现已发布 //www.jb51.net/article/109685.htm

今年9月 Angular 2 正式发布,Angular
团队宣布他们将切换到语义化版本控制规范(SEMVER)。

Angular 5 承诺会带来这些功能:构建渐进式的 Web 应用程序、build optimizer
和 Material Design 组件的容器。

为什么跳过Angular 3?

正如名称所解释的,语义化版本控制是关于添加版本号的意义。语义化版本由三个数字组成:

在发布 Angular 的第一个版本和改写的 Angular 2
之后,谷歌承诺每年会进行两次升级。然后谷歌跳过了 Angular 3 ,去年发布了
Angular 4,目的是将框架与其使用的路由器版本号对齐。

澳门新葡亰信誉平台游戏 ,根据Angular团队首席开发Igor Minar的说法:随着Angular
2的发布,Angular团队引入了语义化版本控制规范,即:将语义化版本用三组数字来表示,按照major.minor.patch的顺序排列,如2.3.1。

澳门新葡亰信誉平台游戏 2

关于 Angular 版本号的问题:
很多人看到 Angular 直接从 Angular 2 跳到了 Angular 4,那为什么没有
Angular 3.x 呢?

Patch版本每周发布,通常只修复问题,不加入新的功能。Minor版本每月发布,加入一些新的功能,但相对旧版本来说没有太大更改。Major版本每半年发布一次,加入一些新功能,并可能带来一些重大更改。

每当修复一个错误并释放它,增加最后一个数字;如果添加一个新的功能,增加第二个数字;每当释放一个重大改变,增加第一个数字。

原因并没有你想的那么复杂,一句话就能描述:Angular
开始使用semver语义化版本,并做了一次版本对齐。

之前最新的Angular
router版本号是3.3.0,而其它模块的版本号是2.2.0,由于版本号不同步,团队计划将其同步,直接采用4.0.0作为新版的版本号。

这对 Angular
团队意味着什么?和每个不断发展软件的一样,突变随时可能发生。
现在,即使只是将 Angular 的 TypeScript 依赖从 v1.8 升级到 v2.1 或 v2.2
并用它编译 Angular ,在技术上会导致突变。 所以他们非常非常重视 SEMVER。

语义化版本就像名字所说的一样,让每一个版本号的添加都有其意义。这可以让开发人员迅速明白此次升级的变动情况,而且能让第三方工具比如
npm 可以更便捷更安全的进行操作。

由于Angular团队计划每半年发布一个主要版本,因此按计划Angular
5将于2017年9月发布。

从 Angular 1 到 Angular 2
,这是一个彻底的改变,有新的API,新的模式,Angular 2 是一个完全重写。

一个语义版本包括三个数字:

升级过程

而从版本2更改为版本4、5,…和从 Angular 1
升级完全不同。它不会是一个完整的重写,它将只是一些核心库的更改,需要一个主要的
SEMVER 版本更改。 此外,将有适当的弃用阶段,以允许开发人员调整其代码。

主版本号 次版本号 修订号
破坏性变更 功能添加,无破坏性变更 Bug 修正,无破坏性变更

使用npm-check方案升级 使用如下命令检查,并按下空格来选择要升级的包

为什么没有3?

版本号递增规则如下:

npm-check -u

核心 Angular 库存在于单一的 GitHub
存储库中,所有这些都以相同的方式进行版本化,但作为不同的 NPM 包分发:

  1. 主版本号:当你做了不兼容的 API 修改
  2. 次版本号:当你做了向下兼容的功能性新增
  3. 修订号:当你做了向下兼容的问题修正

官方推荐

澳门新葡亰信誉平台游戏 3

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

 npm uninstall -g @angular/cli npm cache clean npm install -g @angular/cli@latest rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell npm install --save-dev @angular/cli@latest

 // linux/mac npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@latest typescript@latest --save // Windows npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

 npm install zone.js@0.8.4 --save

 npm install

由于路由器软件包版本的这种不对齐,团队决定直接使用 Angular 4
。以这种方式,保证所有的核心包都对齐,这将更容易维护且有助于避免将来混乱。

SEMVER 详细文档可以参照此链接。

总结

暂定的发布计划:

为什么没有 Angular 3 版本?

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

澳门新葡亰信誉平台游戏 4

核心 Angular 库存储在一个单一的 GitHub
存储库中,位于github.com/angular/angular。所有这些都以相同的方式进行版本化,但作为不同的
npm 包分发:

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS
MVC架构总结》

在 Google 内部,Angular 团队使用一个工具来处理自动升级。
这是一个仍需更详细规划的东西,团队正在努力使这个工具可用,可能会在2017年
Angular 5 发布时同步放出。

包名 版本
@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

来源:Angular
Blog

可以看到 @angular/router 的版本未对齐。由于router包版本的这种不对齐,并且已经造成了一定的使用混乱。Angular
团队决定直接使用 Angular
v4。采用这种方式,将所有的核心包对齐,这将更容易维护并且帮助避免将来的混乱。

编译:开源中国

参考:

来自:https://www.infoworld.com/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图