【问题标题】:ReferenceError: Rx is not definedReferenceError:未定义 Rx
【发布时间】:2016-10-01 11:50:25
【问题描述】:

我刚开始学习 angular2,我正在尝试使用 angular2 做 RxJs 的示例。如果有人帮助我,将不胜感激。

RxJs 代码-

var obs = Rx.Observable.interval(500)
       .take(5)
       .do(i => console.log(i) );

package.json

  {
    "name": "angular-quickstart",
    "version": "1.0.0",
    "scripts": {
      "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ",
      "lite": "lite-server",
      "postinstall": "typings install",
      "tsc": "tsc",
      "tsc:w": "tsc -w",
      "typings": "typings"
    },
    "license": "ISC",
    "dependencies": {
    "@angular/common": "~2.0.1",
    "@angular/compiler": "~2.0.1",
    "@angular/core": "~2.0.1",
    "@angular/forms": "~2.0.1",
    "@angular/http": "~2.0.1",
    "@angular/platform-browser": "~2.0.1",
    "@angular/platform-browser-dynamic": "~2.0.1",
    "@angular/router": "~3.0.1",
    "@angular/upgrade": "~2.0.1",
    "angular-in-memory-web-api": "~0.1.1",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.0.0-beta.12",
    "systemjs": "0.19.39",
    "zone.js": "^0.6.25"
    },
    "devDependencies": {
      "concurrently": "^3.0.0",
      "lite-server": "^2.2.2",
      "typescript": "^2.0.3",
      "typings":"^1.4.0"
    }
  }

【问题讨论】:

  • 你导入了 'rxjs' 吗?
  • @ti2005 回复,是的,我已经导入了 rxjs
  • 我试图访问mixer.com,但收到错误消息:Something is very wrong... Please contact us with the following error: ReferenceError: rxjs is not defined

标签: angular rxjs


【解决方案1】:

2020 年更新:

对于那些使用自述文件中列出的 CDN 的用户,即https://unpkg.com/rxjs/bundles/rxjs.umd.min.js

开发者一定是把rxjs的全局命名空间从Rx改成了rxjs,所以用rxjs代替Rx

var obs = rxjs.Observable.interval(500)
       .take(5)
       .do(i => console.log(i) );

欲了解更多信息,请阅读rxjs's README.md

【讨论】:

【解决方案2】:

我刚刚在 Observable 之前移除了 Rx-

var obs = Observable.interval(500)
   .take(5)
   .do(i => console.log(i) );

【讨论】:

    【解决方案3】:
    1. npm install rxjs

    counter.ts

    import {Observable} from 'rxjs/Observable';
    import 'rxjs/add/observable/interval';
    
    // To get the typescript compiler to recognise Rx.* execute.
    // npm install @types/rx --save-dev
    
    let obs = Observable.interval(1000);
    
    
    obs.subscribe(value => console.log("Subscriber: " + value));
    
    1. tsc counter.ts
    2. 节点计数器.js

      订阅者:0

      订阅者:1

      订阅者:2

    ^C

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-24
      • 2015-10-04
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多