【问题标题】:fs.readdir is not working when I try to read a folder当我尝试读取文件夹时 fs.readdir 不起作用
【发布时间】:2021-07-06 19:10:43
【问题描述】:

我正在尝试从文件夹“数据”中读取文件,下面的代码应该可以正常工作,但我无法理解为什么会出现此错误:

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,它仍然给出相同的错误。

【问题讨论】:

  • 你能提供完整的错误回溯吗?你能提供你的 webpack 配置吗?
  • @SuperStormer 我目前正在使用 parcel 进行捆绑。我在测试时使用了基本的 webpack 配置。直接来自教程,它给出了与 parcel 相同的错误,所以我想回到包裹..关于错误回溯..你能帮我看看我怎么能帮你得到这个吗?我对此很陌生..
  • @SuperStormer : 我已经在 netlify 上上传了这个网站。你可以在控制台中看到错误。希望对你有帮助。brahma-gallery.netlify.app
  • fs 是一个 node.js 模块,仅在服务器端可用。
  • @ĐăngKhoaĐinh : 哦,好吧..现在有道理了..现在将从这个角度进行测试和检查..感谢分享..为麻烦道歉..

标签: javascript fs


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2013-08-26
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 2022-10-13
    相关资源
    最近更新 更多