web-dev-qa-db-ja.com

Angular 4:RxJに関するモジュールが見つからないエラー

Angularアプリをビルドすると、これらのエラーの多くが表示されます。以下は最初のエラーです

ERROR in ./~/@reactivex/rxjs/dist/cjs/Rx.js
Module not found: Error: Can't resolve './add/operator/filter' in 
'...\node_modules\@reactivex\rxjs\dist\cjs'
 @ ./~/@reactivex/rxjs/dist/cjs/Rx.js 70:0-32
 @ ./~/@reactivex/rxjs/index.js
 @ ./~/ri-api-client/dist/index.js
 @ ./src/app/core/api.service.ts
 @ ./src/$$_gendir/app/app.module.ngfactory.ts
 @ ./src/main.ts
 @ multi ./src/main.ts

私は何が欠けていますか?

エラーメッセージに基づいて、インポートステートメントが正しくないようです。 node_modules/@ reactivexで物を見つけられないと文句を言いますが、node_modules/rxjsを探すべきです。

Importステートメントは次のようになります。

import 'rxjs/add/operator/filter';
5
Yakov Fain

同様のエラーが発生しました。

_`ERROR in ./src/app/shared/giphy/giphy.service.ts`
_

_Module not found: Error: Can't resolve 'rxjs/add/operator/map' in '/Users/user1/opt/work/mine/development/ic/ic-pms/pms-ui/src/app/shared/giphy'_ ℹ 「wdm」: Failed to compile. ERROR in src/app/shared/giphy/giphy.service.ts(16,35): error TS2339: Property 'map' does not exist on type 'Observable<Object>'.

そのためのソリューションは_npm install rxjs@6 rxjs-compat@6 --save_です

30
nani21984

RXJSはバージョン6以降で構文を変更しました

新しいソリューションは次のとおりです。

import { filter } from 'rxjs/operators';

じゃない

import 'rxjs/add/operator/filter';

詳細はこちら: https://www.academind.com/learn/javascript/rxjs-6-what-c​​hanged/

6
closedloop

.mapにパイプメソッドを使用するだけで追加-

.pipe(コード、マップ......);

import { map } from 'rxjs/operators';

.pipe(map(
      (response) => response.json()
 ))

わたしにはできる。

2
yunus YK

angularはnode_modulesからではなく、サービスで使用されるフォルダーでrxjs/add/operator/mapを探していることがわかりました。

app.module.tsにrxjsをインポートするだけでこの問題を修正しました app.module.tsに次のコードを追加してみてください

import 'rxjs';
1
Prem Ananth C

angular 4+。

0