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';
同様のエラーが発生しました。
_`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
_です
RXJSはバージョン6以降で構文を変更しました
新しいソリューションは次のとおりです。
import { filter } from 'rxjs/operators';
じゃない
import 'rxjs/add/operator/filter';
詳細はこちら: https://www.academind.com/learn/javascript/rxjs-6-what-changed/
.map
にパイプメソッドを使用するだけで追加-
.pipe(コード、マップ......);
import { map } from 'rxjs/operators';
.pipe(map(
(response) => response.json()
))
わたしにはできる。
angularはnode_modulesからではなく、サービスで使用されるフォルダーでrxjs/add/operator/mapを探していることがわかりました。
app.module.tsにrxjsをインポートするだけでこの問題を修正しました app.module.tsに次のコードを追加してみてください
import 'rxjs';
angular 4+。