由于Angular 6在这里,我想升级或移动我的Angular 5客户端应用程序到Angular 6,但我没有得到任何教程或任何可以指导我完成的内容.
根据我的说法,我只需要运行一个新的Angular CLI,然后必须将我的旧源代码移到新项目中.我读到6号角使用的是一种新的渲染器,叫做常春藤(Ivy).我需要根据常春藤改变我的项目吗?
由于Angular 6在这里,我想升级或移动我的Angular 5客户端应用程序到Angular 6,但我没有得到任何教程或任何可以指导我完成的内容.
根据我的说法,我只需要运行一个新的Angular CLI,然后必须将我的旧源代码移到新项目中.我读到6号角使用的是一种新的渲染器,叫做常春藤(Ivy).我需要根据常春藤改变我的项目吗?
已经释放了Version 7个Angular.有关详细信息,请访问官方的angular update guide https://update.angular.io.这些步骤适用于使用angular Material的基本angular 6应用程序.
ng update @angular/cli
ng update @angular/core
ng update @angular/material
Version 6的Angular 已经释放了Official Angular blog link. 我在下面提到了一般的升级步骤,但是在更新之前和之后,您需要对代码进行更改以使其在V6中可用,有关详细信息,请访问官方网站https://update.angular.io.
升级步骤(对于使用Angular material 的基本Angular 应用程序,升级步骤主要从official Angular Update Guide开始):
确保NodeJS版本为8.9+,如果不更新的话.
全局和本地更新Angular cli,并通过运行以下命令将旧配置.angular-cli.json迁移到新的angular.json格式:
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
将所有Angular framework软件包更新到v6,并更新到正确的版本
ng update @angular/core
通过运行以下命令将Angular material 更新为最新版本:
ng update @angular/material
RxJS v6与v5相比有重大变化,v6带来了向后兼容包RxJS compat,可以让应用程序继续工作,但您应该重构TypeScript代码,使其不依赖于RxJS compat.要重构TypeScript代码,请运行以下命令:
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
注意:一旦所有依赖项都更新为RxJS 6,请删除RxJS-
npm uninstall rxjs-compat
完成运行ng serve
判断
将rxjs升级至6.0.0-beta.0,有关更多信息,请参阅此RxJS Upgrade Guide.RxJS v6有突破性的变化,因此首先要使您的代码与最新的RxJS版本兼容.
将NodeJS版本更新为8.9+(angular cli 6版本需要此功能)
将ANGLING CLI全局包更新到下一个版本.
npm uninstall -g @angular/cli
npm cache verify
如果npm版本为<;5然后使用npm cache clean
npm install -g @angular/cli@next
将Package.json文件中的Angular 包版本更改为^6.0.0-rc.5
"dependencies": {
"@angular/animations": "^6.0.0-rc.5",
"@angular/cdk": "^6.0.0-rc.12",
"@angular/common": "^6.0.0-rc.5",
"@angular/compiler": "^6.0.0-rc.5",
"@angular/core": "^6.0.0-rc.5",
"@angular/forms": "^6.0.0-rc.5",
"@angular/http": "^6.0.0-rc.5",
"@angular/material": "^6.0.0-rc.12",
"@angular/platform-browser": "^6.0.0-rc.5",
"@angular/platform-browser-dynamic": "^6.0.0-rc.5",
"@angular/router": "^6.0.0-rc.5",
"core-js": "^2.5.5",
"karma-jasmine": "^1.1.1",
"rxjs": "^6.0.0-uncanny-rc.7",
"rxjs-compat": "^6.0.0-uncanny-rc.7",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.5.0",
"@angular/cli": "^6.0.0-rc.5",
"@angular/compiler-cli": "^6.0.0-rc.5",
"@types/jasmine": "2.5.38",
"@types/node": "~8.9.4",
"codelyzer": "~4.1.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"postcss-loader": "^2.1.4",
"protractor": "~5.1.0",
"ts-node": "~5.0.0",
"tslint": "~5.9.1",
"typescript": "^2.7.2"
}
下一步将Angular cli local软件包更新至下一版本,并安装上述软件包.
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@next
npm install
Angular CLI配置格式已从Angular CLI 6.0.0-rc更改.2版本,并且可以通过运行以下命令自动更新现有配置.它将删除旧的配置文件.angular-cli.json并写入新的angular.json文件.
ng update @angular/cli --migrate-only --from=1.7.4
Note :- If you get following error "The Angular Compiler requires TypeScript >=2.7.2 and <2.8.0 but 2.8.3 was found instead". run following command :
npm install typescript@2.7.2