所以我试图使用React Native运行一个libp2p节点。

我意识到目前尚不支持它(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

这是React Native抱怨找不到它。这很有意义,因为它是NodeJS环境的一部分,并且在浏览器(或React Native环境)中不可用。

在浏览器中如何处理?更确切地说;如果events根本不捆绑在浏览器中,该如何使用它们?

README还提到了在浏览器中使用的库的特定捆绑版本,但是我放弃了寻找它。

最佳答案

由于缺乏文档和libp2p的捆绑,我只能假设您打算自己捆绑它。

创建捆绑软件可以很好地工作-回答了有关在浏览器中使用的问题-但是由于缺乏兼容的Webcrypto实现,RN中的libp2p仍然无法正常工作。

关于javascript - 用于React Native的libp2p:在浏览器中使用libp2p时,如何避免需要NodeJS的EventEmitter?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47947129/

10-09 23:43