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){