【发布时间】: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 的东西,服务器有文件系统。而且你不能在另一边使用这些“独家”的东西。