当我尝试读取文件夹时,fs.readdir不起作用
我正在尝试从文件夹‘data’中读取文件,下面的代码应该可以正常工作,但我不能理解为什么会出现此错误:
Uncaught TypeError: _fs.readdir is not a function
import fs from "fs";
// Have tried the below option too instead of import sytax
// const fs = require("fs");
const dataFolder = "./data/";
// Option #1
fs.readdir(dataFolder, function (_err, files) {
files.forEach((file) => console.log(file));
});
// OUTPUT
// Uncaught TypeError: _fs.readdir is not a function
// Option #2
fs.readdirSync(dataFolder).forEach((file) => console.log(file));
// OUTPUT
// Uncaught TypeError: _fs.readdirSync is not a function
如有任何帮助,我们将不胜感激。我以为是捆绑包导致的,但我将其更改为webpack,它仍然给出相同的错误。
解决方案
我在回答自己的问题,以防对其他像我一样正在从前端编码转向理解node.js的人有所帮助。
很难理解有些模块不是为浏览器设计的,fs
就是其中之一,而当您尝试使用‘Required’时,这是另一个障碍。因此,如果像我一样,您在这里是因为您试图在链接到您的html的Java脚本中使用fs
从您的本地计算机或服务器读取内容,并希望它显示在浏览器上,那么它将不起作用。
这有点令人沮丧,但一旦你意识到这一点,它就有意义了。因此,尽管这可能不是你想要的答案,但我想我还是分享一下,这样你就不会浪费更多的时间,试图让它发挥作用。
了解node.js以及如何在node.js上使用fs
会更好地利用时间..:-)..
相关文章