React-Native无法导入库

问题描述 投票:3回答:4

我正在尝试将以太坊web3.js library导入React Native项目。

我按照React Linking Libraries说明,安装web3.js包并将其与命令链接:

$ npm install web3 --save
$ react-native link

我的index.ios.js文件如下所示:

import { default as Web3 } from 'web3';

import React, { Component } from 'react';
import { AppRegistry, Text } from 'react-native';

class ReactProject extends Component {
  render() {
    return (
      <Text>Hello world!</Text>
    );
  }
}

AppRegistry.registerComponent('ReactProject', () => ReactProject);

我运行应用程序{"type":"InternalError","message":"react-packager has encountered an internal error, please check your terminal error output for more details"}时在模拟器中收到的错误消息不是很有用,因为终端只显示相同的消息。

如何将这样的库导入React Native?

javascript import react-native importerror ethereum
4个回答
-2
投票

请尝试此操作以导入库:

var Web3 = require('web3');


0
投票

我创建了一个关于如何使用web3.js 1.0.0-beta.24设置Create React Native App的逐步简单指南,而不修改node_modules

https://gist.github.com/dougbacelar/29e60920d8fa1982535247563eb63766


0
投票

我能够使它在web3版本0.x上运行并开源创建babel-preset-react-native-web3的解决方案,以便它开箱即用,如果用于创建帐户,它可能不被认为是100%安全的,因为它在幕后使用Math.Random()

有关更多信息,请参阅以下sample app使用web3 version 0.20.0react 16expo

希望有所帮助,


-2
投票

修正:https://github.com/ethereum/web3.js/issues/576

编辑以下文件

/node_modules/bignumber.js/bignumber.js

编辑如下:

-if ( !crypto ) try { crypto = require('crypto'); } catch (e) {}
+if ( !crypto ) try { crypto = require('crypto-js'); } catch (e) {} 

Web3版本:0.18.2

© www.soinside.com 2019 - 2024. All rights reserved.