Erreur ENOENT lors de l'utilisation de fs.writeFile
Essayer d'écrire dans un fichier à l'aide de fs.writeFile dans un frère ou une sœur répertoire. Cela fonctionne bien lors de l'utilisation de Sitemap.xml
dans le même répertoire, mais pas avec le chemin d'accès relatif. Le public
répertoire existe et ça donne le même message d'erreur si oui ou non Sitemap.xml
existe.
Pertinentes dir structure:
/public
Sitemap.xml
app files
/create-sitemap
index.js - file containing code below
app.js
fs.write('../public/Sitemap.xml', data.toString(), function(err) {
if (err) throw err;
console.log("Wrote sitemap to XML");
});
Toms-MacBook-Pro:moviehunter tomchambers$ node create-sitemap/index.js
/Users/tomchambers/projects/project/create-sitemap/index.js:88
if (err) throw err;
^
Error: ENOENT, open '../public/Sitemap.xml'
source d'informationauteur Tom
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez des chemins relatifs dans le nœud, ils sont liés au nœud de processus. Donc, si vous exécutez votre script comme
node create-sitemap/index.js
de la/Users/tomchambers/projects/project/
répertoire, il va chercher pour le/Users/tomchambers/projects/public/Sitemap.xml
fichier qui n'existe pas.Dans votre cas, vous pouvez utiliser le
__dirname
variable globale, qui renvoie, que les docs disent:De sorte que votre code devrait ressembler à ceci: