ENOENT使用fs.appendFile()

我正试图追加数据到一些文件。

Docs说fs.appendFile

将数据asynchronous追加到文件,如果文件尚不存在,则创build文件,数据可以是string或缓冲区

 function appendData(products) { var productsPromises = products.map(function(product) { var title = product['title']; return fs.appendFile('/XXXXX/' + title, product, 'utf8', function(err){ console.log(err); }); }); return Promise.all(productsPromises); } 

我越来越错误:

ENOENT,打开“/ XXXXX / PPPPPPPP”

我究竟做错了什么?

您可能意外地在XXXXX前加了/

我希望它写入文件夹XXXXX ,它位于您启动应用程序的位置的相同位置,然后将您的代码更改为:

 return fs.appendFile('XXXXX/' + title, product, 'utf8', function(err){ 

由于/前面表示文件系统的根目录,并且path的常见错误不存在。 也就是说,你的文件系统的根目录没有XXXXX ,就像@Rahil Wazir所说的那样。

问题是我忘了添加点。

应该:

 return fs.appendFile('./XXXXX/' + title, product, 'utf8', function(err){