fsPromises.open() 在追加模式下打开时抛出错误

fsPromises.open() throws an error when opening in append mode

我正在尝试使用 fs/promises 模块在 Express 服务器上打开一个文件以在 NodeJS 中写入一些数据。我按照文档进行操作,但是当调用 open() 方法时,它会抛出错误 ENOENT: no such file or directory。我通过使用脚本在文件夹中打开一个终端并使用 cd [path] 到达它应该创建文件的位置来验证文件路径是否正确,并且它有效。该路径位于“服务器”文件夹之外的文件夹中。该文件夹与“服务器”文件夹处于同一级别,所以我不确定这是否有所不同。

但是,根据 documentation,追加模式应该 在文件不存在时创建文件。

我的代码:

var express = require("express");
var router = express.Router();
const fsPromises = require('fs/promises');
const moment = require('moment');

router.post('/link',async function(req, res, next) {
    const encryptedData = req.body;
    const fileDate = moment().format("YYYYMMDD_HHms");

    try {
        let filePath = `../../folder/${fileDate}.txt`
        let handle = await fsPromises.open(filePath,'a');
        handle.write(encryptedData).then(writtenObject => {
            if (writtenObject.bytesWritten == 0) {
                console.log("No data was written");
            }
        });
        await handle.close();
        console.log("written");
        res.send(true);
    }
    catch(e) {
        console.log(e);
        res.send(false);
    };
});

它没有创建文件,我错过了什么或做错了什么?

正如@Christian Fritz 和@RickN 所提到的,我的道路已经关闭。就像提到的那样,路径是相对于主脚本的,并且在将行更新为

之后

let handle = await fsPromises.open(path.join(__dirname,filePath),'a');

成功了。