【发布时间】:2018-02-08 03:03:07
【问题描述】:
重现步骤:
create-react-native-app proj && cd proj && npm i
正在安装使用加密的软件包。执行https://www.npmjs.com/package/react-native-crypto 中列出的步骤:
npm i -S react-native-crypto && npm i -S react-native-randombytes
react-native link react-native-randombytes
收到 react-native 链接失败的警告,但是在以下 hack 之后,加密依赖不再是问题:
npm i --save-dev tradle/rn-nodeify
./node_modules/.bin/rn-nodeify --hack --install
在 App.js 中添加import './shim.js'
yarn run ios
在这里遇到问题:https://github.com/mvayngrib/react-native-randombytes/issues/13
undefined 不是对象(评估 'RNRandomBytes.seed')
由于某些使用的包限制,我无法更新 npm 和 node
MacOS 10.12,节点 8.0.0,npm 5.0
编辑:
RNRandomBytes 被初始化为let RNRandomBytes = require('react-native').NativeModules.RNRandomBytes
init 是从 twitter nacl 导入的 react-native-crypto 导入的 react-native-randombytes 中访问 RNRandomBytes 的第一个位置
EDIT2:通过react-native init创建项目后链接阶段成功完成:
rnpm-install info Linking react-native-randombytes android dependency
rnpm-install info Android module react-native-randombytes has been successfully linked
rnpm-install info Linking react-native-randombytes ios dependency
rnpm-install info iOS module react-native-randombytes has been successfully linked
import './shim.js' 这个示例项目在 index.js 而不是 App.js 中
但错误是一样的
【问题讨论】:
标签: ios react-native cryptography