【问题标题】:FS module to read CSV fileFS 模块读取 CSV 文件
【发布时间】:2020-06-12 22:17:34
【问题描述】:

我是 node js 的新手,我尝试使用模块“fs”,但我总是遇到同样的错误,我无法理解:“找不到模块 'fs'”。 代码是:

     const fs = require('fs');
      fs.createReadStream("data/dataset.csv", "utf8", function(error, data)
        {
          data = d3.tsv.parse(data);
          console.log(JSON.stringify(data));
        }
      );

有人可以帮助我吗? 谢谢

【问题讨论】:

  • 你使用的是什么版本的节点node --version? de 代码在哪里运行(直接由节点运行或由浏览器运行)?
  • 我使用的是 v12.16.1 并且通过浏览器运行代码
  • 你在运行 Webpack 或 Angular 还是代码捆绑器?请在您的问题中提供有关您的设置和正在运行的代码的更多信息。否则问题太模糊了。
  • 是的,我正在使用 Webpack,我在项目文件夹中使用命令“npm install”。很抱歉不准确,但我不太了解这项技术。
  • 这能回答你的问题吗? Node cannot find module "fs" when using webpack

标签: javascript node.js


【解决方案1】:

假设您使用的是 webpack,我认为浏览器中不可能需要 fs。 Webpack 获取您的代码并将其打包,然后“通常”将其发送到浏览器。虽然 webpack 正在读取和使用 node.js 代码,但它最终会在没有所需的“fs”模块且不是 node.js 环境的浏览器中运行。

我不确定您要达到的目标。

使用 webpack 可以更改配置并加载自定义文件 作为一个步骤。你应该看看Adding a csv file to a webpack build

Webpack Express Cannot Resolve Module 'fs', Request Dependency is Expression

【讨论】:

  • 对不起,我还是不明白这个问题,我尽量准确一点。我使用 d3.js 开发了一个简单的应用程序,它在 XAMPP 上运行。之后,我决定“移动”节点 js 上的所有内容,但我在读取 csv 文件时遇到了问题(简单的 d3 函数不起作用)所以我更改了函数并尝试使用“fs”模块。我在我创建的项目文件夹中有 node_modules 文件夹、package.json 和 webpack.config.js 文件。
  • 问题似乎来自对webpack的理解。 Webpack 可以做很多事情,但它主要是加载一堆文件并将它们打包以准备服务。要投入生产,您将运行 webpack build。此构建的结果是一个dist 文件夹。这个文件夹的内容就是你的 sftp 中的内容。从那时起,它不再是节点 js。这意味着您可以从 url 中获取文件,或者您可以使用 webpack 预加载它。如需进一步帮助,github 链接将很有用。还可以编辑您的问题以添加详细信息。
【解决方案2】:

你使用 fs 错误!

首先你没有正确使用流。

此外,您不需要此任务的流。 (如果你只需要读取文件)

试试这个:

fs.readFile("data/dataset.csv", "utf8", (err, data) => {
  if (err) throw err;
  data = d3.tsv.parse(data);
  console.log(JSON.stringify(data));
});

【讨论】:

  • 谢谢,但是第一行代码的问题,还是不行
  • 我看到了你的评论:“我正在使用 v12.16.1,我正在通过浏览器运行代码 - Luigi Zollo” Fs - 它只是节点 js 模块。你不能在浏览器中运行它。此外,您根本无法从浏览器访问您的系统文件。所以在node环境下试试吧。
  • 你能解释得更好吗?谢谢
  • Node.js 和浏览器 javascript 是不同的东西。只需创建一个名为 test.js 的文件,将这段代码放在那里并在控制台中执行“node ./test.js”,它就会工作。但是如果你复制粘贴到浏览器控制台就不行了
  • 好的,所以我不在浏览器中运行,因为我在项目文件夹中使用了“npm run start”命令,但它仍然不起作用
猜你喜欢
  • 2021-07-11
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-05-06
  • 2016-12-06
相关资源
最近更新 更多