Unable to resolve module fs from /...mypath
尝试将节点模块导入到react-native应用程序时出现此错误。
模块以这种方式使用'fs':
var fs = require('fs');
var list = JSON.parse(fs.readFileSync(__dirname + '/list.json', 'utf8'));
答案 0 :(得分:12)
我最终使用' rn-nodeify '将fs包含在React Native中。您可以使用此方法的大多数节点核心模块。用npm安装它:
npm install rn-nodeify
然后在 package.json 文件中,在“脚本”中添加以下行,以指定要包含在RN项目中的模块。例如,我使用 fs ,加密和 https ,然后该行
"postinstall": "node_modules/.bin/rn-nodeify --install crypto,fs,https --hack"
答案 1 :(得分:11)
React Native应用程序不在Node.js环境中运行(它仅由打包程序用于实际提供和编译应用程序包)。
由于您的应用程序在iPhone或Android上的JS VM中运行,因此访问文件系统的唯一方法是使用react-native-fs
或利用桥接连接与平台特定本机API通信的任何其他第三方模块。
答案 2 :(得分:0)
安装react-native-fs(按照de link上的说明进行操作),以便避免错误持续存在,请在目录('./node_modules/tfjs-image-recognition-base/build/commonjs/env/)中输入通过文件:(creatFileSystem.js)并编辑:
fs = require('fs')
收件人:
fs = require('react-native-fs')
我不知道这是否是推荐的方法,但这是唯一对我有用的方法。
答案 3 :(得分:0)
如果要导入json列表,则直接将其调用。
示例:
您无需进行转换,就可以用来导入数据或所需的方式。
else