nodejs charger le fichier
Je veux charger test.txt avec nodejs.
var fs = require('fs');
fs.readFile('./test.txt', function (err, data) {
if (err) {
throw err;
}
console.log(data);
});
Le chemin d'accès du serveur est C:\server\test\server.js
. L'test.txt situé dans le même répertoire, mais j'ai cette erreur: Error: ENOENT, no such file or directory 'C:\Users\User\test.txt'
Vous devez vous connecter pour publier un commentaire.
Les chemins de Nœud sont résolus relativement au répertoire de travail courant. Préfixe votre chemin avec
__dirname
de résoudre le chemin à l'emplacement de votre Nœud de script.ReferenceError: __dirname is not defined
. Est-ce parce que je dois définir manuellementvar __dirname = '/the/path/'
?Avec Nœud à 0,12$, il est possible de le faire de manière synchrone maintenant:
fs
est le système de fichiers. readFileSync() retourne un Tampon ou une chaîne si vous le demandez.fs
assume correctement les chemins relatifs sont un problème de sécurité.path
est un travail autour de.De charger comme un string, spécifier l'encodage:
Vous devez utiliser
__dirname
pour obtenir le nom du répertoire le fichier est situé au lieu du répertoire de travail courant:donc, si c'est dans le même répertoire viens de le faire
x.js
à/tmp/x/x.js
. Mettre de la Fpo dans le code. Aussi créer/tmp/x/test.txt
. Maintenant, définissez votre travail dir pour/tmp
(eg.cd /tmp
) et l'utilisationnode x/x.js
ounode /tmp/x/x.js
-->Error: ENOENT, no such file or directory 'test.txt'
Si elle est dans le même répertoire, il doit travailler. J'ai testé avec le même code, un fichier
name.txt
et ça fonctionne: