从Angular 6迁移到Angular 7

6

3
可能是与 如何正确升级 Angular 2(npm)到最新版本? 重复的问题。 - Igor
1
我建议您查看这个链接:https://update.angular.io/ - alokstar
6个回答

6
我已经使用以下方法将6版本更新至7版本:

Angular依赖项

   npm install @angular/animations@latest @angular/common@latest @angular/compiler@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 --save

Angular的开发依赖

  npm install @angular-devkit/build-angular@latest @angular/compiler-cli@latest @angular/cli@latest @angular/language-service@latest --save-dev

依赖项:Core-js 和 Zone.js

npm install core-js@latest zone.js@latest --save

开发依赖项:Types、codelyzer、karma 工具、jasmine、protractor 和 tslint

npm install @types/jasmine@latest @types/node@latest codelyzer@latest karma@latest karma-chrome-launcher@latest karma-cli@latest karma-jasmine@latest karma-jasmine-html-reporter@latest jasmine-core@latest jasmine-spec-reporter@latest protractor@latest tslint@latest --save-dev

TypeScript 的新版本 3+

npm install typescript@latest --save-dev

RxJS的最新版本为6+。

npm install rxjs@latest rxjs-compat@latest --save

而且:

npm install rxjs-tslint@latest --save-dev

Webpack最新版本为4+。

npm install webpack@latest --save-dev

source


3

ANGULAR 6.1 升级至 7 的步骤

为了正确地从 Angular 6.1 升级到 Angular 7,您需要按照以下步骤进行:

警告:请检查所有导入的模块是否与 Angular 7 兼容,如有必要,请升级它们。

升级到 Angular 7 之前:

  1. 将 HttpModule 导入改为 HttpClientModule(import {HttpClientModule} from '@angular/common/http';)

  2. 如果您正在使用 Http 导入,请将其更改为 import {HttpClient} from '@angular/common/http';

不要忘记删除所有 JSON.parse(response),因为您现在不需要使用 HttpClient 做这个了。

  1. 如果您正在使用 RXjs,您必须删除 RXjs 6 的旧依赖项。不用担心,您可以通过运行以下脚本来完成:

    npm install -g rxjs-tslint

    rxjs-5-to-6-migrate -p src/tsconfig.app.json

您可能需要更新 typescript 以成功迁移 rxjs: npm i -g typescript

  1. 卸载 rxjs-compat 模块(npm uninstall rxjs-compat)
  2. 如果您使用 Angular Service worker,请将任何 versionedFiles 迁移到 files 数组中。

  3. 将 Angular cli 升级到 v7:

    ng update @angular/cli

  4. 将 Angular Core 升级到 v7:

    ng update @angular/core

  5. 最后,您必须升级 Angular material:

    ng update @angular/material


2

在这里,您可以找到有关从任何版本升级到Angular 7的指南

https://update.angular.io/

或者您可以简单地在CLI中运行命令

  ng update --all

2
你可以使用这个链接:https://update.angular.io,选择你正在使用的版本,它会为你提供一步一步的指南。参考下图:Print from update.angular.io

0

ng-update 对我也不起作用 - 我通过使用 npm-check 更新所有软件包,并在手动解决了一些错误后解决了这个问题。


您也可以尝试删除 package-lock.json,然后运行 ng update - matzar

0

如果你和我一样只是想将项目更新到最新版本,那么从 Angular 6 开始以下操作适用于我:

在项目文件夹上打开控制台:输入 ng update,然后你会看到下面的消息:

        We analyzed your package.json, there are some packages to update:

          Name                               Version                  Command to update
         --------------------------------------------------------------------------------
          @angular/cli                       7.0.7 -> 7.2.2           ng update @angular/cli
          @angular/core                      7.0.4 -> 7.2.1           ng update @angular/core

There might be additional packages that are outdated.
    Run "ng update --all" to try to update all at the same time.

So I usually go straight and do:

ng update --all

Finally you can check your new version:

ng version
Angular CLI: 7.2.2
Node: 8.12.0
OS: win32 x64
Angular: 7.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.12.2
@angular-devkit/build-angular     0.12.2
@angular-devkit/build-optimizer   0.12.2
@angular-devkit/build-webpack     0.12.2
@angular-devkit/core              7.2.2
@angular-devkit/schematics        7.2.2
@angular/cli                      7.2.2
@ngtools/webpack                  7.2.2
@schematics/angular               7.2.2
@schematics/update                0.12.2
rxjs                              6.3.3
typescript                        3.2.4
webpack                           4.28.4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接