首页 > 解决方案 > Node.js fs 解决方法

问题描述

我正在使用 node 和 webpack 来运行我在 react 上设计的 UI。我使用的一些包需要 fs - 诸如fs.readFileSync(__dirname + '/file.txt');返回缺失类型错误之类的函数。

我读过 fs 尝试访问由于隐私问题而无法在浏览器上运行的文件系统。这是可以理解的。

什么是最好的明确替代方案,即。当我下载一个包(例如npm install pdf-kit --s)并且由于使用 fs 而无法工作时,我该怎么做才能使其工作?

谢谢

更新:

我试过添加"target": "node"

node: {
  fs: 'empty',
}

到 webpack 配置,都无济于事。我得到的具体错误是

TypeError: fs.readFileSync is not a function

非常热衷于特定的解决方法 - 不确定如何使用这些具有 fs 的包...

标签: javascriptnode.jswebpackfs

解决方案


看来评论中已经回答了这个问题,所以我将在这里总结一下:

'fs' 或文件系统是节点的一部分。如果一个包需要'fs',它可能意味着与节点一起使用,而不是客户端或浏览器环境。

有问题的包恰好有使用 blob 的浏览器支持。http://pdfkit.org/docs/getting_started.html#using_pdfkit_in_the_browser

归功于 Jaromanda X 和 Milos Mosovsky


推荐阅读