将文本文件读入node.js

时间:2013-09-14 19:52:50

标签: javascript node.js

我刚开始使用node.js.这是我的第一次尝试,我无法从txt文件读取到Windows 7中的node.js终端。在Windows中使用Node.js应用程序,我输入了“node sample.js”和sample.js和sample.txt文件位于桌面上的文件夹中,但node.exe应用程序不读取该文件。此外,我不知道它将如何知道目录路径任何洞察?这是我的代码:

var fs = require("fs");
console.log("Starting");
fs.readFile("sample.txt", function(error, data) {
    console.log("Contents of file: " + data);
});
console.log("Carrying on executing");

3 个答案:

答案 0 :(得分:1)

您应该查看error参数(记录或抛出它)以查看出现了什么问题。因为您正在使用相对路径,所以它将相对于当前工作目录进行查找。

node.js docs

  

可以使用文件名的相对路径,但请记住,此路径将相对于process.cwd()。

您还应该知道代码的最后一行实际上会先执行(可能),因为readFile是异步的。 (这是一个关键的node.js概念。)

答案 1 :(得分:1)

尝试使用

fs.readFile(__dirname + "/sample.txt", function(error, data) {

__ dirname实际上是您所在文件的当前目录。

答案 2 :(得分:0)

您可能没有相对于应用程序目录执行节点。

最简单的方法是创建一个批处理文件来执行您的应用。这样您就不必从命令提示符不断重新输入相对路径:

  1. 在桌面上的应用程序目录中创建“.bat”文件。
  2. 将批处理文件的内容编辑为:node sample.js
  3. 双击以运行批处理文件