React-Native无法导入库

时间:2017-03-07 18:29:56

标签: javascript import react-native importerror ethereum

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

我遵循了React Linking Libraries说明,安装了web3.js包并将其与命令相关联:

public class Upload extends BaseActivity implements View.OnClickListener {

我的$ 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); 时在模拟器中收到的错误消息不是很有用,因为终端只显示相同的消息。

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

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

希望有所帮助,

答案 2 :(得分:-2)

请尝试改为导入库:

var Web3 = require('web3');

答案 3 :(得分:-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