node_modules / rxjs-compat / operator / shareReplay.d.ts(2,10)中的错误:错误TS2305:

jac*_*0st 16 rxjs typescript angular-cli angular

我正在尝试将基本的角度骨架应用程序从Angle 5升级到Angle 6,这是我在尝试运行该应用程序时遇到的问题:

ERROR in node_modules/rxjs-compat/operator/shareReplay.d.ts(2,10): error TS2305: Module '"C:/newAdmin/testing-front-end/admin-fe/node_modules/rxjs/internal-compatibility/index"' has no exported member 'ShareReplayConfig'.
Run Code Online (Sandbox Code Playgroud)

这是我的package.json:

{
 "name": "admin-fe",
 "version": "0.0.0",
 "scripts": {
 "ng": "ng",
 "start": "ng serve",
 "build": "ng build",
 "test": "ng test",
 "lint": "ng lint",
 "e2e": "ng e2e"
 },
 "private": true,
 "dependencies": {
   "@angular-devkit/core": "^7.3.0",
   "@angular/animations": "^6.1.0",
   "@angular/common": "^6.1.0",
   "@angular/compiler": "^6.1.0",
   "@angular/core": "^6.1.0",
   "@angular/forms": "^6.1.0",
   "@angular/http": "^6.1.0",
   "@angular/platform-browser": "^6.1.0",
   "@angular/platform-browser-dynamic": "^6.1.0",
   "@angular/router": "^6.1.0",
   "@ngrx/store": "^7.2.0",
   "angular-oauth2-oidc": "^5.0.2",
   "core-js": "^2.5.4",
   "moment": "^2.24.0",
   "rxjs": "6.3.3",
   "rxjs-compat": "^6.4.0",
   "zone.js": "~0.8.26"
  },
  "devDependencies": {
   "@angular-devkit/build-angular": "~0.7.0",
   "@angular/cli": "~6.1.3",
   "@angular/compiler-cli": "^6.1.0",
   "@angular/language-service": "^6.1.0",
   "@types/jasmine": "~2.8.6",
   "@types/jasminewd2": "~2.0.3",
   "@types/node": "~8.9.4",
   "codelyzer": "~4.2.1",
   "jasmine-core": "~2.99.1",
   "jasmine-spec-reporter": "~4.2.1",
   "karma": "~1.7.1",
   "karma-chrome-launcher": "~2.2.0",
   "karma-coverage-istanbul-reporter": "~2.0.0",
   "karma-jasmine": "~1.1.1",
   "karma-jasmine-html-reporter": "^0.2.2",
   "protractor": "~5.3.0",
   "ts-node": "~5.0.1",
   "tslint": "~5.9.1",
   "typescript": "^2.9.1"
 }
}
Run Code Online (Sandbox Code Playgroud)

使用打字稿3.3.1时没有出现此错误,但我无法使用该错误,因为编译器将只允许我输入打字稿<v2.10.0

我在这里可以采取什么步骤?

编辑:

我将rxjs和rxjs-compat版本都对齐为6.3.3,但是现在出现以下错误:

ERROR in node_modules/@ngrx/store/src/store.d.ts(30,31): error TS2304: Cannot find name 'Extract'.
Run Code Online (Sandbox Code Playgroud)

Jac*_*der 36

我遇到了同样的问题,我不得不降级rxjs-compat(6.3.3)使其与rxjs(6.3.3)保持一致,

在您的package.json中,它应该像:

"rxjs": "6.3.3",
"rxjs-compat": "6.3.3",
Run Code Online (Sandbox Code Playgroud)

如果您使用的是rxjs 6.4.0,则无需使用rxjs-compat,它提供了rxjs v6和v5之间的兼容性层。

因此,我认为您可以直接使用来自'rxjs / operators'的import {shareReplay};

有关运营商的更多信息,请访问:https : //www.learnrxjs.io/


Omk*_*ghe 9

我在项目中遇到了相同的问题,即package.json文件中的rxjs和rxjs-compat版本与rxjs =“ 6.3.3”和rxjs-compat =“ 6.4.0”不同,所以我只是降级了rxjs-compat版本通过以下命令:

npm安装rxjs-compat@6.3.3 --s

它为我工作。


Abh*_*hat 7

"rxjs": "6.3.3","rxjs-compat": "6.4.0"尽管使用了版本,但我仍然遇到相同的问题,但^6.3.3错误仍然存​​在。只是一小部分。如果您有^,rxjs-compat可能会导致问题。没有插入符号,即rxjs-compat": "6.3.3"它对我有用。请参阅https://github.com/ReactiveX/rxjs/issues/4512。谢谢