Snažím se připojit řetězec do souboru protokolu. WriteFile však vymaže obsah pokaždé, než zapíše řetězec.
fs.writeFile('log.txt', 'Hello Node', function (err) { if (err) throw err; console.log('It's saved!'); }); // => message.txt erased, contains only 'Hello Node'
Máte nápad, jak to udělat jednoduše?
Odpověď
Pro občasné připojení můžete použít appendFile
, který vytvoří nový popisovač souboru pokaždé, když se nazývá:
Asynchronně:
const fs = require('fs'); fs.appendFile('message.txt', 'data to append', function (err) { if (err) throw err; console.log('Saved!'); });
Synchronně:
const fs = require('fs'); fs.appendFileSync('message.txt', 'data to append');
Pokud však ke stejnému souboru připojujete opakovaně, je mnohem lepší znovu použít popisovač souboru.