Node.js错误ENOENT,当没有任何更改时打开“文件/路径”

时间:2014-02-01 23:14:54

标签: javascript node.js fs

Ok首先关闭...我是Node.js的新手。我正在尝试将word文档转换为HTML,然后将其删除以获取内容。然后将其泵入现有发动机。

话虽如此,一切都运行得相当顺利,直到今天。我刚刚让fs.writeFile在昨晚工作并离开了它。今天早上没有触摸它并尝试运行它我得到了这个:

this error

这是调用错误的块。

//COPY TEMPLATE AND PASTE
fs.readFile("./Templates/TextBasedEvent.xml", function (err, data){
    if (err) {
        throw err;
    }       
    var contentHolder = data.toString(),            
        contentHolder = contentHolder.replace(/%EVENTNUMBER%/gi, id),
        contentHolder = contentHolder.replace(/%CONTENT%/gi, contents);
    fs.writeFile("./bin/xml/" + id + ".xml", contentHolder, function (err){
        if (err) {
            throw err;
        }
    });
});

它是否与变量放在文件路径中有关?对于它而言,抛出错误似乎很奇怪,它在变量所在的位置之间返回。

谢谢!

编辑:问题在于使用变量拉入换行符。

1 个答案:

答案 0 :(得分:22)

编写文件时可能会导致ENOENT

  • 目标目录(在本例中为E:\Desktop\SniffIt\bin\xml)不存在。
  • 文件名中的换行符(CR和/或LF)。

您应该使用proper XML parser来读取输入文件。这可能会帮助您避免出现虚假的新行。