Jak připojit k souboru v Node?

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.