Pour l'instant j'utilise
fs.openSync(filepath, 'a')
Mais c'est un peu délicat. Existe-t-il un moyen "standard" de créer un fichier vide dans Node.js?
Si vous voulez forcer le fichier à être vide, vous voulez utiliser le 'w'
flag à la place:
var fd = fs.openSync(filepath, 'w');
Cela tronquera le fichier s'il existe et le créera s'il ne le fait pas.
Enveloppez-le dans un fs.closeSync
appelez si vous n'avez pas besoin du descripteur de fichier qu'il renvoie.
fs.closeSync(fs.openSync(filepath, 'w'));
https://github.com/isaacs/node-touch fera le travail et, à l'instar de l'outil UNIX qu'il émule, ne remplacera pas un fichier existant.
Si vous voulez que ce soit exactement comme sur UNIX, j'utiliserais ce que vous avez fs.openSync(filepath, 'a')
sinon le "w" écrasera le fichier s'il existe déjà et "wx" échouera s'il existe déjà. Mais vous voulez mettre à jour le fichier mtime, utilisez donc 'a' sans rien ajouter.
Voici la manière asynchrone, en utilisant "wx"
donc il échoue sur les fichiers existants.
var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
// handle error
fs.close(fd, function (err) {
// handle error
});
});