私は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には、ブラウザで使用するライブラリの特定のバンドルバージョンも記載されていますが、私はそれを探していません。
'EventEmitter3'(https://github.com/primus/eventemitter3)や' node-event-emitter'(https://www.withlib.com/)のようなブラウザ互換のイベントライブラリを使うには 'libp2p'を微調整するだけです。 //www.npmjs.com/package/node-event-emitter)。ほとんどのイベントライブラリは非常に似たような働きをしているので、リファクタリングはlibp2pの複雑さにもよりますが、あまり重すぎてはいけません。 –
私は現在、babelize/webpackできるlibp2pバンドルを作成しようとしています。祝祭の後の進歩についてコメントします。 –