【问题标题】:How to use packages that require fs & path with React如何在 React 中使用需要 fs 和路径的包
【发布时间】:2022-11-27 15:06:36
【问题描述】:

我需要在我的 ReactAPP 中使用 quick.db 包来挂钩,但 React 不允许使用 FS 和路径,这是包所必需的

我得到了这个错误:

ERROR in ./node_modules/file-uri-to-path/index.js 5:10-29
Module not found: Error: Can't resolve 'path' in 'C:\\Users\\Moruga\\projects\\character-manager-jjk-rp\\node_modules\\file-uri-to-path'
ERROR in ./node_modules/bindings/bindings.js 5:9-22
Module not found: Error: Can't resolve 'fs' in 'C:\\Users\\Moruga\\projects\\character-manager-jjk-rp\\node_modules\\bindings'

我已经尝试写

"browser": {
"fs": false,
"path": false,
"os": false
},

package.json 但它没有帮助

【问题讨论】:

  • 简短的回答是你不能。您需要一个使用您的客户端应用程序可以访问的包的节点应用程序。
  • @Andy 明白了,谢谢你的回答。

标签: javascript node.js reactjs npm quick.db


【解决方案1】:

你不能到处运行所有的 npm 包。

你应该只在服务器上使用 node.js javascript 包,它不在浏览器中运行。 您要运行的那些包应该只在服务器(或您的本地计算机)上运行,而不是在浏览器中运行。他们应该可以访问文件、网络、数据库等。

由于这个特殊原因,您不能将它们与 React 一起使用。

React 应用程序是一个客户端 javascript 包,这意味着它应该在浏览器中运行而无需访问操作系统的东西,如文件、数据库等。

要让 React 应用程序访问数据库、文件、网络或其他任何东西,您需要有 2 个独立的项目。一个运行 node.js 的(纯粹在服务器上,或者在终端上) 和第二个运行的 React 应用程序。他们将使用 GET/POST 网络调用进行通信

【讨论】:

    猜你喜欢
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2013-07-09
    相关资源
    最近更新 更多