更新到Angular 8,现在一切都坏了

更新到Angular 8,现在一切都坏了,angular,Angular,我想将Angular项目从7.3.6(CLI)更新到最新版本(8.3.16)。这失败了。我照导游说的做了: 我不得不把所有的变化都藏起来,因为实际上所有的东西都是红色的 import { Injectable, HostListener, Directive, EventEmitter, Output, HostBinding, ElementRef, Renderer2 } from '@angular/core'; 所有这些进口商品都是红色的。在隐藏之后,仍然没有任何东西会起作用,因为有些

我想将Angular项目从7.3.6(CLI)更新到最新版本(8.3.16)。这失败了。我照导游说的做了:

我不得不把所有的变化都藏起来,因为实际上所有的东西都是红色的

import { Injectable, HostListener, Directive, EventEmitter, Output, HostBinding, ElementRef, Renderer2 } from '@angular/core';
所有这些进口商品都是红色的。在隐藏之后,仍然没有任何东西会起作用,因为有些东西更新到了8.3.16,而有些东西则没有,我认为项目被困在了7.2上

ng版本
提供了:

Angular CLI: 8.3.16
Node: 11.12.0
OS: win32 x64
Angular: 8.2.13
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.16
@angular-devkit/build-angular      0.803.16
@angular-devkit/build-optimizer    0.803.16
@angular-devkit/build-webpack      0.803.16
@angular-devkit/core               8.3.16
@angular-devkit/schematics         8.3.16
@angular/cdk                       7.3.7
@angular/cli                       8.3.16
@angular/material                  7.3.7
@angular/material-moment-adapter   7.3.7
@ngtools/webpack                   8.3.16
@schematics/angular                8.3.16
@schematics/update                 0.803.16
rxjs                               6.5.3
typescript                         3.5.3
webpack                            4.39.2
错误的一个例子如下:

ERROR in node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'.
node_modules/rxjs/Rx.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat'.
src/app/app.module.ts(32,31): error TS2307: Cannot find module 'angular-emojify'.
src/app/chat/chat.component.ts(13,4): error TS2554: Expected 2 arguments, but got 1.
src/app/chat/chat.component.ts(16,4): error TS2554: Expected 2 arguments, but got 1.
src/app/chat/chat.component.ts(19,4): error TS2554: Expected 2 arguments, but got 1.
src/app/chat/chatarea/chatarea.component.ts(27,4): error TS2554: Expected 2 arguments, but got 1.
src/app/chat/chatmessage/chatmessage.component.ts(50,4): error TS2554: Expected 2 arguments, but got 1.
src/app/chat/chatroom-list/chatroom-list.component.ts(34,4): error TS2554: Expected 2 arguments, but got 1.
src/app/registration/registration.component.ts(36,4): error TS2554: Expected 2 arguments, but got 1.
src/app/services/websocket.service.ts(3,10): error TS2305: Module '"C:/Users/user/Git/chat/client/node_modules/rxjs/Observable"' has no exported member 'Observable'.
src/app/services/websocket.service.ts(25,17): error TS2694: Namespace '"C:/Users/user/Git/chat/client/node_modules/rxjs/Rx"' has no exported member 'Subject'.
src/app/services/websocket.service.ts(202,15): error TS2339: Property 'Subject' does not exist on type 'typeof import("C:/Users/user/Git/chat/client/node_modules/rxjs/Rx")'.
src/app/shared/validators/custom-validators.ts(64,29): error TS2339: Property 'timer' does not exist on type 'typeof Observable'.
src/app/shared/validators/custom-validators.ts(65,74): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.
src/app/shared/validators/custom-validators.ts(77,27): error TS2339: Property 'timer' does not exist on type 'typeof Observable'.
src/app/shared/validators/custom-validators.ts(78,72): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.
src/app/shared/validators/custom-validators.ts(96,29): error TS2339: Property 'timer' does not exist on type 'typeof Observable'.
src/app/shared/validators/custom-validators.ts(97,71): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.
src/app/shared/validators/custom-validators.ts(109,27): error TS2339: Property 'timer' does not exist on type 'typeof Observable'.
src/app/shared/validators/custom-validators.ts(110,69): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.
src/app/shared/validators/custom-validators.ts(126,27): error TS2339: Property 'timer' does not exist on type 'typeof Observable'.
src/app/shared/validators/custom-validators.ts(127,116): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.
节点_modules/rxjs/Observable.d.ts(1,15)中出现错误:错误TS2307:找不到模块“rxjs compat/Observable”。 节点_modules/rxjs/Rx.d.ts(1,15):错误TS2307:找不到模块“rxjs compat”。 src/app/app.module.ts(32,31):错误TS2307:找不到模块“angular emojify”。 src/app/chat/chat.component.ts(13,4):错误TS2554:应为2个参数,但得到1个。 src/app/chat/chat.component.ts(16,4):错误TS2554:应为2个参数,但得到1个。 src/app/chat/chat.component.ts(19,4):错误TS2554:应为2个参数,但得到1个。 src/app/chat/chatarea/chatarea.component.ts(27,4):错误TS2554:应为2个参数,但得到1个。 src/app/chat/chatmessage/chatmessage.component.ts(50,4):错误TS2554:应为2个参数,但得到1个。 src/app/chat/chatroom list/chatroom list.component.ts(34,4):错误TS2554:应为2个参数,但得到1个。 src/app/registration/registration.component.ts(36,4):错误TS2554:应为2个参数,但得到1个。 src/app/services/websocket.service.ts(3,10):错误TS2305:Module“C:/Users/user/Git/chat/client/node_modules/rxjs/Observable”没有导出的成员“Observable”。 src/app/services/websocket.service.ts(25,17):错误TS2694:命名空间“C:/Users/user/Git/chat/client/node_modules/rxjs/Rx”没有导出的成员“Subject”。 src/app/services/websocket.service.ts(202,15):错误TS2339:导入类型(“C:/Users/user/Git/chat/client/node_modules/rxjs/Rx”)上不存在属性“Subject”。 src/app/shared/validators/custom validators.ts(64,29):错误TS2339:类型“typeof Observable”上不存在属性“timer”。 src/app/shared/validators/custom validators.ts(65,74):错误TS2339:类型“Observable”上不存在属性“map”。 src/app/shared/validators/custom validators.ts(77,27):错误TS2339:类型“typeof Observable”上不存在属性“timer”。 src/app/shared/validators/custom validators.ts(78,72):错误TS2339:类型“Observable”上不存在属性“map”。 src/app/shared/validators/custom validators.ts(96,29):错误TS2339:类型“typeof Observable”上不存在属性“timer”。 src/app/shared/validators/custom validators.ts(97,71):错误TS2339:类型“Observable”上不存在属性“map”。 src/app/shared/validators/custom validators.ts(109,27):错误TS2339:类型“typeof Observable”上不存在属性“timer”。 src/app/shared/validators/custom validators.ts(110,69):错误TS2339:类型“Observable”上不存在属性“map”。 src/app/shared/validators/custom validators.ts(126,27):错误TS2339:类型“typeof Observable”上不存在属性“timer”。 src/app/shared/validators/custom validators.ts(127116):错误TS2339:类型“Observable”上不存在属性“map”。 我不是一个人在做这个项目。angular emojify模块在更新时出现问题,但我删除了它并尝试自己创建管道


我真的不知道该怎么办,因为project和CLI不再匹配。

官方指南明确指出:

角度更新指南| 7.2->8.0,适用于高级应用程序

更新前

  • 如果使用传统的HttpModule和Http服务,请切换到
    HttpClientModule和HttpClient服务。HttpClient简化了
    默认的人体工程学(您不再需要映射到JSON)和
    现在支持类型化返回值和拦截器。阅读更多关于
    角的
  • 一旦您和所有依赖项更新到
    RxJS 6,移除RxJS compat。
  • 如果您使用角度维修工,
    将任何版本的文件迁移到文件阵列。这种行为就是 一样

我认为您错过了首先更新代码以使用最新的RxJS 6兼容版本的步骤。

Angular官方指南明确指出:

角度更新指南| 7.2->8.0,适用于高级应用程序

更新前

  • 如果使用传统的HttpModule和Http服务,请切换到
    HttpClientModule和HttpClient服务。HttpClient简化了
    默认的人体工程学(您不再需要映射到JSON)和
    现在支持类型化返回值和拦截器。阅读更多关于
    角的
  • 一旦您和所有依赖项更新到
    RxJS 6,移除RxJS compat。
  • 如果您使用角度维修工,
    将任何版本的文件迁移到文件阵列。这种行为就是 一样

我认为您错过了首先更新代码以使用最新的RxJS 6兼容版本的步骤。

npm安装--保存RxJS compat
,另请参见您似乎也更新了RxJS版本。你所有的观测值都需要改变。这就是为什么不存在.map()和.timer()之类的错误。现在,您将执行一些类似Observable.pipe(map())的操作,请遵循此链接中的所有步骤:
ng update@angular/cli@angular/core--allow dirty
您会尝试吗?@Saloo我已将所有内容更新到版本8。问题在于RxJS 6在映射操作符、计时器和Rx.Subscribe中所做的更改。
npm安装——保存RxJS compat
,另请参阅您似乎也更新了RxJS版本。你所有的观测值都需要改变。这就是为什么不存在.map()和.timer()之类的错误。现在,您将执行一些类似Observable的操作。管道(map())遵循此链接中的所有步骤:
ng update@angular/cli@angular/core--allow dirty
您会尝试吗?@Saloo我已经更新了所有内容