由于Angular 6在这里,我想升级或移动我的Angular 5客户端应用程序到Angular 6,但我没有得到任何教程或任何可以指导我完成的内容.

根据我的说法,我只需要运行一个新的Angular CLI,然后必须将我的旧源代码移到新项目中.我读到6号角使用的是一种新的渲染器,叫做常春藤(Ivy).我需要根据常春藤改变我的项目吗?

推荐答案

Upgrade from Angular v6 to Angular v7

已经释放了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

Upgrade from Angular v5 to Angular v6

Version 6的Angular 已经释放了Official Angular blog link. 我在下面提到了一般的升级步骤,但是在更新之前和之后,您需要对代码进行更改以使其在V6中可用,有关详细信息,请访问官方网站https://update.angular.io.

升级步骤(对于使用Angular material 的基本Angular 应用程序,升级步骤主要从official Angular Update Guide开始):

  1. 确保NodeJS版本为8.9+,如果不更新的话.

  2. 全局和本地更新Angular cli,并通过运行以下命令将旧配置.angular-cli.json迁移到新的angular.json格式:

    npm install -g @angular/cli  
    npm install @angular/cli  
    ng update @angular/cli
    
  3. 将所有Angular framework软件包更新到v6,并更新到正确的版本

    ng update @angular/core
    
  4. 通过运行以下命令将Angular material 更新为最新版本:

    ng update @angular/material
    
  5. 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
    
  6. 完成运行ng serve判断

从Angular v5升级到Angular 6.0.0-rc.5.

  1. 将rxjs升级至6.0.0-beta.0,有关更多信息,请参阅此RxJS Upgrade Guide.RxJS v6有突破性的变化,因此首先要使您的代码与最新的RxJS版本兼容.

  2. 将NodeJS版本更新为8.9+(angular cli 6版本需要此功能)

  3. 将ANGLING CLI全局包更新到下一个版本.

    npm uninstall -g @angular/cli
    npm cache verify
    

    如果npm版本为<;5然后使用npm cache clean

    npm install -g @angular/cli@next
    
  4. 将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"
    }
    
  5. 下一步将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 
    
  6. 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

Angular相关问答推荐

如何跨不同组件使用ng模板

运行容器后,Docker容器立即退出

带区域设置用法的Angular 日期管道

为什么动画只触发一次?

ANGLE v16独立组件不能与拦截器一起工作?

如何将 Angular 中的导航路由到同一页面并重新加载

如何在 Angular RxJS 中替换订阅中的 subscrib?

无法绑定到formControl,因为它不是input的已知属性

路由链接不在 Ionic 中执行

使用 Observable 进行渐进式填充

使用 BehaviorSubject 从服务更新 Angular 组件

当访问令牌在 MSAL for Angular 中过期时如何重定向用户?

有条件地取消所有内部可观察对象或切换到仅发出一个值的新对象

关闭 Dynamsoft Web Twain 弹出窗口

如何在 Angular 2 应用程序中配置不同的开发环境

Angular 6 - NullInjectorError:单元测试中没有 HttpClient 的提供者

angular2:错误: TypeError: Cannot read property '...' of undefined

Angular2:如果 img src 无效,则显示占位符图像

读取文件并解析其内容

Angular 4 material表突出显示一行