无法使用Node.js fs.appendFile创建文件

时间:2017-07-18 08:45:57

标签: javascript node.js fs

我一直在尝试创建一个程序来保存来自Slack团队的日志。我有大部分工作,但迄今为止无法成功使用fs.appendFile(),因为文档声称如果文件不存在它将创建文件(并且不使用fs.exists()或{{1预先检查),但我收到一个ENOENT错误。

这是我的功能:

fs.access()

var storeLog = function (username, type, channelName, message) { var pathArr = [loggingDir, type, channelName]; var path = pathArr.join("/") + ".log"; var fullMessage = username + ": " + message; fs.appendFile(path, fullMessage + "\r\n", function (err) { if (err && globalSettings.debugMode) { console.error("Error saving log:\n", err); } else if (globalSettings.debugMode) { console.info("Appended to " + path); console.info(fullMessage); } }); }; 为真)

globalSettings.debugMode变量有以下结果:

err

1 个答案:

答案 0 :(得分:2)

fs.appendFile()要求您创建将在其中创建文件的目录(如果该文件不存在)。它不会为你创建目录。

fs.createWriteStream()也可以使用a标志。