【问题标题】:fs.readFileSync is not a functionfs.readFileSync 不是函数
【发布时间】:2018-09-24 22:46:36
【问题描述】:

我正在使用 rn-nodeify 来启用在 React Native 中使用 pdf2json。 pdf2json 使用fs 使用readFileSync 方法加载文件。当我尝试使用该库时出现此错误:

fs.readFileSync is not a function. (In 'fs.readFileSync(_basePath + fieldName, 'utf8')', 'fs.readFileSync' is undefined)

我找不到对此问题的任何支持。任何指针表示赞赏。

编辑:请注意,我并没有尝试在浏览器中运行它。这与 react-native 相关,即它在设备上运行,并且代码应该可以访问文件系统。

【问题讨论】:

  • 看看这个comment,你可以试试异步是否工作。
  • 感谢Pritish 的回复!这看起来很相关。由于方法调用位于第 3 方库中,因此我更愿意在更改之前尝试其他选项。你知道我怎样才能让 fs 指向 react-native-fs 而不是 react-native-level-fs 吗?
  • 不知道react-native是否支持同步功能。你可以在你的 async 函数中使用 async await 作为let file = await fs.readFile 看看它是否有效。

标签: node.js react-native


【解决方案1】:

FWIW,我在 ES6/最新 JS 中编写测试时遇到了这个问题 - 通过更改导入来解决这个问题:

import { fs } from 'fs';

import fs from 'fs';

注意不必要的{} - fs 是 fs 节点模块的默认导出,应该以后一种方式导入

有关默认和命名导出的更好解释,请参阅this SO discussion

【讨论】:

    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多