【问题标题】:How to use FS from NodeJs ? "I'm `FS` modules"如何使用 NodeJs 中的 FS? “我是 `FS` 模块”
【发布时间】:2021-05-04 07:02:30
【问题描述】:

在询问之前,我在同一个论坛上阅读了很多关于此问题的信息,但找不到解决方案。

这是我的 js 文件:

const fs = require( 'fs' );

fs.readFile( './test.html', (err, data) => {
   if (err) throw err;
   console.log(data);
})

结果如下: "I'm fs modules"

我读到这是因为这不是 NodeJs 的原生“fs”包,我可能有一个“巨魔”包。

好吧,我做到了

npm uninstall fs
npm uninstall -g fs

问题仍然存在。 所以我从我的机器上完全卸载了 NodeJs,重新启动,再次安装,再次重新启动,仍然是同样的问题。

例如,我对“http”包没有任何问题。

我的 npm 版本 - 6.14.11,node - 14.15.4,webpack - 4.46.0

我被困在这个问题上,我感觉自己被引诱了,或者只是错过了一些绝对明显的东西。

你能帮我解决这个问题吗?

【问题讨论】:

  • 可能您在浏览器代码中使用fs。浏览器不能访问文件系统,只有服务器可以。但两者都可以访问像http 这样的东西。
  • 您是否将代码与 webpack 捆绑在一起?然后您是否尝试在浏览器中运行您的代码?如果是这样,则在浏览器中运行时没有fs模块。
  • 好的,所以“fs”模块不能在我的 index.html 将加载的 js 文件中使用?
  • 是的。尽管双方——客户端和服务器——使用相同的语言——JavaScript——但它们的库集略有不同。客户端(浏览器)有 DOM 的东西,服务器有文件系统。而且你不能在另一边使用这些“独家”的东西。

标签: node.js npm fs


【解决方案1】:

根据 webpack 错误,您似乎正在尝试在浏览器中使用 fs。 浏览器 JavaScript 无法访问文件系统,因此不会加载 fs 包。 尝试向服务器发送 http 请求并使用相应的数据进行响应,而不是使用文件 api。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-20
    • 2021-08-22
    • 1970-01-01
    • 2015-11-01
    • 2018-03-26
    • 1970-01-01
    • 2012-03-26
    • 2021-08-18
    相关资源
    最近更新 更多