gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:25:35 25 4
gpt4 key购买 nike

我一直在尝试创建一个程序来保存 Slack 团队的日志。我已经完成了大部分工作,但到目前为止无法成功使用 fs.appendFile() ,因为文档声称如果文件不存在,它将创建该文件(并且不要事先使用 fs.exists()fs.access() 进行检查),但我收到了 ENOENT 错误。

这是我的功能:

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 为 true)

err 变量具有以下结果:

{ Error: ENOENT: no such file or directory, open 'D:\path\in\settings\Direct Message\username.log'
at Error (native)
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'D:\\path\\in\\settings\\Direct Message\\username.log' }

最佳答案

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

fs.createWriteStream() 也是如此,您也可以将其与 a 标志一起使用。

关于javascript - 无法使用 Node.js fs.appendFile 创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com