fs.readdir 在我尝试读取文件夹时不起作用

fs.readdir is not working when I try to read a folder

我正在尝试从文件夹 '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

如有任何帮助,我们将不胜感激。我以为是打包器 Parcel 的原因,但我将其更改为 Webpack,它仍然给出相同的错误。

我正在回答我自己的问题,以防它帮助像我这样的其他人,他们正在从前端编码转向理解 node.js。

很难理解有些模块并不适用于浏览器,fs 就是其中之一,当您尝试使用 'require' 时,这是另一个障碍..所以如果像我一样,您在这里是因为你试图在你的 javascript 中使用 fs 链接到你的 html 从你的本地机器或服务器读取一些东西并期望它显示在浏览器上,它不会工作。

这有点令人沮丧,但一旦你理解了它,它就有意义了。因此,尽管这可能不是您要寻找的答案,但我想我只是分享这个,这样您就不会浪费更多时间来尝试使其发挥作用。

了解 node.js 以及如何在 node.js 上使用 fs 会更好地利用时间..:-)..