React Native:无法解析模块 fs

新手上路,请多包涵
Unable to resolve module fs from /...mypath

尝试将节点模块导入我的 react-native 应用程序时出现此错误。

该模块以这种方式使用“fs”:

 var fs = require('fs');
var list = JSON.parse(fs.readFileSync(__dirname + '/list.json', 'utf8'));

原文由 C.Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

React Native 应用程序不在 Node.js 环境中运行(它仅由打包程序用于实际服务和编译您的应用程序包)。

由于您的应用程序在 iPhone 或 Android 上的 JS VM 中运行,因此访问文件系统的唯一方法是使用 react-native-fs 或任何其他利用桥连接与平台特定本机 API 对话的第三方模块。

原文由 Mike Grabowski 发布,翻译遵循 CC BY-SA 3.0 许可协议

我最终使用“ rn-nodeify ”将 fs 包含到 React Native 中。您可以使用这种方法的大多数节点核心模块。使用 npm 安装它:

 npm install rn-nodeify

然后在 package.json 文件中,在 “scripts” 中添加以下行以指定要包含在 RN 项目中的模块。例如,我使用了 fscryptohttps ,然后这条线

"postinstall": "node_modules/.bin/rn-nodeify --install crypto,fs,https --hack"

原文由 C.Lee 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题