2017-12-22 11 views
1

私はReact Nativeを使ってlibp2pノードを動かそうとしています。React Nativeのlibp2p:ブラウザでNodePを使用する場合、libp2pはNodeJSのEventEmitterを必要としますか?

現在サポートされていない(2017年12月 - 変更されている可能性があります)が、ブラウザとNodeJSの両方で既に動作しているので、試してみることにしました。

libp2pを必要とした後、私はエラーを取得する: bundling failed: UnableToResolveError: Unable to resolve module `events` from `<full path>/node_modules/libp2p/src/index.js`: Module does not exist in the module map

これは、それがeventsを見つけることができないという不満をネイティブに反応です。これはNodeJS環境の一部であり、ブラウザ(またはReactネイティブ環境)では使用できないため意味があります。

これはブラウザでどのように処理されますか?というより; libp2pは、まったくバンドルしていない場合、ブラウザでどのように使用する予定ですか?

READMEには、ブラウザで使用するライブラリの特定のバンドルバージョンも記載されていますが、私はそれを探していません。

+0

'EventEmitter3'(https://github.com/primus/eventemitter3)や' node-event-emitter'(https://www.withlib.com/)のようなブラウザ互換のイベントライブラリを使うには 'libp2p'を微調整するだけです。 //www.npmjs.com/package/node-event-emitter)。ほとんどのイベントライブラリは非常に似たような働きをしているので、リファクタリングはlibp2pの複雑さにもよりますが、あまり重すぎてはいけません。 –

+1

私は現在、babelize/webpackできるlibp2pバンドルを作成しようとしています。祝祭の後の進歩についてコメントします。 –

答えて

0

libp2pのドキュメンテーションとバンドルが不足していることを考えれば、自分でバンドルすることを前提としています。

バンドルを作成すると、ブラウザでの使用に関する質問に答えることができますが、RNのlibp2pは互換性のあるwebcrypto実装がないため動作しません。

関連する問題