Dies asynchron zu machen ist ziemlich einfach. Dies ist besonders nützlich, wenn Sie (wahrscheinlich) den Thread blockieren möchten.
const fs = require('fs');
const fileName = './file.json';
const file = require(fileName);
file.key = "new value";
fs.writeFile(fileName, JSON.stringify(file), function writeJSON(err) {
if (err) return console.log(err);
console.log(JSON.stringify(file));
console.log('writing to ' + fileName);
});
Die Einschränkung ist, dass json in einer Zeile in die Datei geschrieben und nicht verschönert wird. Ex:
{
"key": "value"
}
wird sein...
{"key": "value"}
Um dies zu vermeiden, fügen Sie einfach diese beiden zusätzlichen Argumente hinzu JSON.stringify
JSON.stringify(file, null, 2)
null- repräsentiert die Ersatzfunktion. (In diesem Fall möchten wir den Prozess nicht ändern.)
2 - repräsentiert die einzurückenden Leerzeichen.