无法在反应中解析模块加密

Tri*_*inu 12 npm webpack react-native ethereum web3js

我已经在这里发布了使用创建的 react-native 应用程序

react-native init myapp
added web3 in package.json
npm install
react-native run-ios
Run Code Online (Sandbox Code Playgroud)

但我收到了无法从 web3-eth-accounts 解析模块加密的错误。有没有什么办法解决这一问题

无法解决加密在此处输入图片说明

JRK*_*JRK 6

Crypto 是一个 node js 模块,当 React Native 运行时 - 它使用 Javascript Core。加密不包括在其中。当我安装加密时,我使用了以下包:

https://www.npmjs.com/package/react-native-crypto

指示:

npm i --save react-native-crypto
# install peer deps 
npm i --save react-native-randombytes
react-native link react-native-randombytes
# install latest rn-nodeify 
npm i --save-dev tradle/rn-nodeify
# install node core shims and recursively hack package.json files 
# in ./node_modules to add/update the "browser"/"react-native" field with relevant mappings 
./node_modules/.bin/rn-nodeify --hack --install
rn-nodeify will create a shim.js in the project root directory
// index.ios.js or index.android.js
// make sure you use `import` and not require!  
import './shim.js'
// ...the rest of your code
Run Code Online (Sandbox Code Playgroud)

导入shim.js您的 index.js 文件。

完成后,应该可以使用加密,如果它仍然不起作用,我必须在我的 App.js 文件中创建一个常量,如下所示:

export const cryp = require('crypto');
Run Code Online (Sandbox Code Playgroud)

并将其导入到您需要的组件中。

更新

我为此做了一个全新的构建,我遵循了以下内容:

react-native init TestApp

按照上面的 Crypto 说明进行操作。

链接:

react-native link

react-native run-ios