は私が持つRxJSを使用して問題を抱えている角度活字体定義ファイルから提案された方法のほとんどは、私のような観察可能なオブジェクトで定義されていない2 ...欠落観測可能な方法RxJS 5.0.0-beta.0
、私は方法が観察プロトタイプ上に存在しないことを、考え出しました。
私は物事の多くは5にバージョン4から変更知っているので、私は何かを逃していますか? Browserifyは私のためにそれを追加しました
は私が持つRxJSを使用して問題を抱えている角度活字体定義ファイルから提案された方法のほとんどは、私のような観察可能なオブジェクトで定義されていない2 ...欠落観測可能な方法RxJS 5.0.0-beta.0
、私は方法が観察プロトタイプ上に存在しないことを、考え出しました。
私は物事の多くは5にバージョン4から変更知っているので、私は何かを逃していますか? Browserifyは私のためにそれを追加しました
:
import 'rxjs/operator/map';
import 'rxjs/operator/delay';
import 'rxjs/operator/mergeMap';
import 'rxjs/operator/switchMap';
import 'rxjs/observable/interval';
import 'rxjs/observable/forkJoin';
import 'rxjs/observable/fromEvent';
しかし、あなたはまた、コード取り組んでいる。ここ
System.config({
defaultJSExtensions: true,
paths: {
'rxjs/observable/*' : './node_modules/rxjs/add/observable/*.js',
'rxjs/operator/*' : './node_modules/rxjs/add/operator/*.js',
'rxjs/*' : './node_modules/rxjs/*.js'
}
});
System.js
でこれを設定する必要がありますコード、私はそれを修正するために何を追加するかを正確に伝えることはできません。しかし、一般的な問題は次のとおりです。RxJS 5は、Betaステージに入った時点でもうAngular 2に含まれていません。必要な演算子をインポートするか、すべてインポートする必要があります。 import文のようになります。source treeを見て、ご希望のモジュールへのパスを決定するには
import 'rxjs/add/operator/map'; // imports just map
import 'rxjs/add/operator/mergeMap'; // just mergeMap
import 'rxjs/add/operator/switchMap'; // just switchMap
import {delay} from 'rxjs/operator/delay'; // just delay
または
import 'rxjs/Rx'; // import everything
のような。 add
のすべてのインポートでは、プロパティがObservable
またはObservable.prototype
に追加されます。 add
がなければ、import {foo} from 'rxjs/path/to/foo'
を実行する必要があります。
また、RxJSがプロジェクトに正しく取り込まれていることを確認する必要があります。このような何かがあなたのindex.htmlファイルに行くだろう:
System.config({
map: {
'rxjs': 'node_modules/rxjs' // this tells the app where to find the above import statement code
},
packages: {
'app': {defaultExtension: 'js'}, // if your app in the `app` folder
'rxjs': {defaultExtension: 'js'}
}
});
System.import('app/app'); // main file is `app/app.ts`
あなたは(私が行ったように)Webpack to build the Angular 2 app like in this Github projectを使用する場合は、System
ものと輸入がそれを行う必要があることを必要としません。
はい、あなたはあなたが必要とする事業者/観測を含める必要が角度2.0に。
は、私はこのようにそれを行う:あなたの実際を見ることなくhttps://github.com/thelgevold/angular-2-samples
プロジェクトでJSPMがセットアップされているため、パスセクションにrxjsを追加するだけでは十分ではありませんでした。そうでない場合は、いくつかのrxjsのファイルを一度jspm_packagesを経て、二回ロードされます、あなたが使用している場合
"npm:[email protected]": {
"crypto": "github:jspm/[email protected]",
"es6-promise": "npm:[email protected]",
"es6-shim": "npm:[email protected]",
"process": "github:jspm/[email protected]",
"reflect-metadata": "npm:[email protected]",
"rxjs": "npm:[email protected]",
"zone.js": "npm:[email protected]"
},
だから、JSPMを使用して、上記のrxjsマッピングを削除してください:
JSPMは私SystemJSに次の構成(マップセクション)を追加しましたかつnode_modules経由で一度。
素晴らしいマイケル。 –