在现有项目中更新Angular CLI

Aak*_*h N 3 migration upgrade angular-cli angular

我正在现有项目中使用angular-cli 1.0.4,我想将版本更新为1.2.4.卸载旧版本并使用npm更新到较新版本并影响我现有项目的最佳方法是什么?它会更新package.json文件的版本.

Kun*_*vič 6

更新your angular cli到any版本的指南

更新2018年10月23日参考:如何在ng cli和角度变化版本最佳实践时更新应用程序:

如果您使用的是Angular CLI版本6+,请运行,ng update然后按照命令行说明进行操作.另请查看本指南更新Angular项目


最近,我是从我的升级项目1.0.4到1.3.0-beta,但同样会在任何角度CLI版本的情况下适用.

所以首先只需要安装你想要升级项目的角度cli,如https://github.com/angular/angular-cli#updating-angular-cli所说:

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@<put exact version here>
Run Code Online (Sandbox Code Playgroud)

升级步骤:

  1. 创建一个new blank项目,就像ng new project-name 你可以将你的名字new "playground" project完全一样old project,但要确保它与当前文件夹位于不同的文件夹中.
  2. 复制/替换您的app文件夹,形成你old project到new project你刚刚创建

  3. 将所有自定义更改带到项目中的所有其余文件:
    3a.将旧项目中与项目相关的所有npm软件包放入package.json(使用比较工具),旧的和新的之间的差异package.json将是正确的@anngular/cli@version,其相关的软件包版本如karma
    3b 等.使用比较工具(见下文为此事UPDATE)确保你把你所有的自定义的东西形式的所有CLI相关文件,如.angular-cli.json,.gitignore,index.html,src/polyfills.ts,src/main.ts,src/test.ts,等

  4. 跑npm install或yarn

  5. 测试所有npm scripts:
    5a - 运行ng serve以确保它是有效的,如果没有修复错误
    5b - 运行ng build以确保它是有效的,如果没有修复错误
    5c - 运行ng lint以确保它是有效的,如果没有修复错误
    5d -运行ng test以确保它是有效的,如果没有修复错误(这是我在该步骤中被捕获的错误)
    5e - 测试npm scripts您的应用所依赖的所有其他内容.

完成上述所有操作后,您可以删除或归档old project以防万一,并继续new project从那一点开始.

UPDATE:您还可以使用此角CLI-DIFF找出是什么版本的区别如https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0(见Files changed标签)

所以使用angular-cli-diff你可以:

  1. 差异cli版本,例如:https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0
  2. 单击File changed选项卡
  3. 将更改应用于当前项目.
  4. npm install / yarn
  5. 5(a-e)如上所述测试步骤中的更改