【问题标题】:ERROR:Observable_1.Observable.defer is not a function Angular2错误:Observable_1.Observable.defer 不是 Angular2 的函数
【发布时间】:2018-09-12 05:56:35
【问题描述】:

我正在将我的 Angular 应用升级到版本 4 到 6。这是我的包。

json 文件:

{
  "version": "0.10.50",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "ng": "ng",
    "start": "node ./public-token/index.js && npm run delete && ng serve",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "build": "rm -rf dist/ && webpack",
    "unit": "node ./public-token/index.js && ng test"
  },
  "dependencies": {
    "@angular/animations": "6.1.7",
    "@angular/cdk": "^6.4.7",
    "@angular/common": "6.1.7",
    "@angular/compiler": "6.1.7",
    "@angular/compiler-cli": "6.1.7",
    "@angular/core": "6.1.7",
    "@angular/flex-layout": "^6.0.0-beta.18",
    "@angular/forms": "6.1.7",
    "@angular/http": "6.1.7",
    "@angular/material": "^6.4.7",
    "@angular/platform-browser": "6.1.7",
    "@angular/platform-browser-dynamic": "6.1.7",
    "@angular/platform-server": "6.1.7",
    "@angular/router": "6.1.7",
    "@swimlane/ngx-datatable": "13.1.0",
    "acorn": "^4.0.7",
    "amazon-cognito-identity-js": "1.31.0",
    "angular-in-memory-web-api": "0.4.6",
    "angular2": "2.0.0-beta.21",
    "angular2-jwt": "0.2.3",
    "angular2-toaster": "^6.1.0",
    "angular2-virtual-scroll": "0.3.2",
    "aws-sdk": "2.188.0",
    "bin": "file:public-token",
    "core-js": "2.4.1",
    "file-saver": "1.3.3",
    "fuse.js": "3.2.1",
    "hammerjs": "^2.0.8",
    "jquery": "^3.3.1",
    "ng2-cookies": "1.0.12",
    "ng2-material-dropdown": "^0.10.1",
    "ng2-mock-server": "0.0.4",
    "ng2-modal": "0.0.25",
    "ng2-select": "2.0.0",
    "ng2-toastr": "4.1.2",
    "ngx-chips": "^1.9.7",
    "ngx-tooltip": "0.0.9",
    "ngx-tooltip-selectable": "0.1.22",
    "rxjs": "6.3.2",
    "rxjs-compat": "6.3.2",
    "ts-helpers": "1.1.1",
    "typescript": "2.9.1",
    "underscore": "^1.9.1",
    "zone.js": "0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.8.1",
    "@angular/cli": "^6.2.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "6.0.42",
    "codelyzer": "2.1.1",
    "gulp": "3.9.1",
    "gulp-flatten": "0.3.1",
    "gulp-inject": "4.2.0",
    "gulp-order": "1.1.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage-istanbul-reporter": "0.2.0",
    "karma-jasmine": "1.0.2",
    "node-sass": "4.5.3",
    "protractor": "~5.1.0",
    "raw-loader": "0.5.1",
    "sass-loader": "6.0.5",
    "ts-node": "1.2.1",
    "tslint": "4.5.1"
  }
}

当我使用 npm run start 时。我在 javascript 控制台中收到此错误。 {

core.js:1673 ERROR 错误:未捕获(承诺中):TypeError:Observable_1.Observable.defer 不是函数

TypeError: Observable_1.Observable.defer is not a function
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.request (angular2-jwt.js:140)
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.requestHelper (angular2-jwt.js:104)
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.post (angular2-jwt.js:154)
    at new BackendService (backend.service.ts:35)
    at _createClass (core.js:8431)
    at _createProviderInstance (core.js:8393)
    at resolveNgModuleDep (core.js:8356)
    at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:9064)
    at resolveDep (core.js:9429)
    at createClass (core.js:9309)
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.request (angular2-jwt.js:140)
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.requestHelper (angular2-jwt.js:104)
    at AuthHttp.push../node_modules/angular2-jwt/angular2-jwt.js.AuthHttp.post (angular2-jwt.js:154)
    at new BackendService (backend.service.ts:35)
    at _createClass (core.js:8431)
    at _createProviderInstance (core.js:8393)
    at resolveNgModuleDep (core.js:8356)
    at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:9064)
    at resolveDep (core.js:9429)
    at createClass (core.js:9309)
    at resolvePromise (zone.js:814)
    at resolvePromise (zone.js:771)
    at zone.js:873
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:3815)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
    at drainMicroTaskQueue (zone.js:595)}

我认为这是因为我没有更新某些软件包版本?请让我知道如何改进我的问题格式?这是我关于 stackOverflow 的第一个问题。谢谢。

【问题讨论】:

  • 请正确格式化您的代码。还请告诉我们您到目前为止所做的尝试。
  • 好的。谢谢你的评论。我得到了解决方案。感谢您的建议。

标签: javascript angular rxjs angular6 rxjs6


【解决方案1】:

好的。在挖掘它之后,在与 rxjs 包苦苦挣扎之后。我知道这个错误正在发生,因为我的 html 模板中有一个 <router-outlet></router-outlet> 并且我没有在 url 中提供正确的路由。这就是为什么首先显示此错误的原因。

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 2016-04-22
    相关资源
    最近更新 更多