如何从Angular 5降级至Angular 4及指定版本创建项目
关于Angular版本降级与指定版本创建项目的解决方案
嘿,针对你的两个问题,我整理了具体的操作步骤,帮你搞定版本适配的问题:
一、无需重建项目,将现有Angular 5项目降级到Angular 4
完全可以不用重新创建项目,只需要调整依赖版本并重新安装即可,具体步骤如下:
- 修改
package.json中的依赖版本:
把所有@angular/开头的依赖版本从^5.0.0改为^4.4.7(这是Angular 4的稳定最终版);同时调整配套依赖:rxjs改为^5.4.3(与Angular 4兼容的稳定版本)zone.js改为^0.8.12
修改后的依赖配置大概是这样:
"dependencies": { "@angular/animations": "^4.4.7", "@angular/common": "^4.4.7", "@angular/compiler": "^4.4.7", "@angular/core": "^4.4.7", "@angular/forms": "^4.4.7", "@angular/http": "^4.4.7", "@angular/platform-browser": "^4.4.7", "@angular/platform-browser-dynamic": "^4.4.7", "@angular/router": "^4.4.7", "bootstrap": "^3.3.7", "core-js": "^2.4.1", "rxjs": "^5.4.3", "zone.js": "^0.8.12" } - 调整Angular CLI版本:
最新版CLI不兼容Angular 4,所以需要把全局和本地的CLI都降级到对应版本(Angular 4对应CLI 1.x系列,推荐1.7.4):- 卸载全局旧CLI:
npm uninstall -g @angular/cli - 安装指定版本CLI:
npm install -g @angular/cli@1.7.4 - 替换项目本地CLI依赖:在
package.json中把@angular/cli(如果有的话)的版本改为^1.7.4,或者执行npm install --save-dev @angular/cli@1.7.4
- 卸载全局旧CLI:
- 清理并重新安装依赖:
删除项目根目录下的node_modules文件夹和package-lock.json(或yarn.lock)文件,然后执行npm install - 检查代码兼容性:
注意Angular 5的部分特性在Angular 4中不存在(比如HttpClient是Angular 4.3+才引入的,用4.4.7的话没问题;但如果是更早的4版本需要换回Http),所以要检查项目代码有没有用到Angular 5独有的特性,比如新的生命周期钩子、表单特性等,如有需要调整。
二、使用ng new创建项目时指定Angular版本
当然可以!有两种常用方法:
- 方法一:使用指定版本的Angular CLI创建
Angular CLI的版本和Angular核心版本是对应的,所以安装对应版本的CLI后,ng new会自动创建对应版本的项目:- 全局安装指定版本CLI(比如创建Angular 4项目用CLI 1.7.4):
npm install -g @angular/cli@1.7.4 - 然后创建项目:
ng new my-angular4-project
- 全局安装指定版本CLI(比如创建Angular 4项目用CLI 1.7.4):
- 方法二:用
npx临时调用指定版本CLI(推荐,避免全局版本冲突)
如果不想替换全局的最新版CLI,可以直接用npx指定CLI版本来创建项目,无需全局安装旧版本:
这样会临时下载对应版本的CLI并创建Angular 4项目,不会影响全局CLI版本。npx @angular/cli@1.7.4 new my-angular4-project
内容的提问来源于stack exchange,提问作者MrSir
相关产品推荐
相关产品推荐

