Estive mexendo no Node.js e encontrei um pequeno problema. Eu tenho um script que reside em um diretório chamado data. Quero que o script grave alguns dados em um arquivo em um subdiretório dentro do datasubdiretório. No entanto, estou recebendo o seguinte erro:
{ [Error: ENOENT, open 'D:\data\tmp\test.txt'] errno: 34, code: 'ENOENT', path: 'D:\\data\\tmp\\test.txt' }
O código é o seguinte:
var fs = require('fs');
fs.writeFile("tmp/test.txt", "Hey there!", function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
Alguém pode me ajudar a descobrir como fazer o Node.js criar a estrutura de diretórios se ela não sair para gravar em um arquivo?
fs.promises.mkdir(path.dirname("tmp/test.txt"), {recursive: true}).then(x => fs.promises.writeFile("tmp/test.txt", "Hey there!"))