Quelle est la différence entre les processus.mdc() vs __dirname?
Quelle est la différence entre
console.log(process.cwd())
et
console.log(__dirname);
J'ai vu les deux utilisés dans des contextes similaires.
Vous devez vous connecter pour publier un commentaire.
processus.mdc()
renvoie le répertoire de travail courant,c'est à dire le répertoire dans lequel vous avez appelé le
node
commande.__dirname
renvoie le nom du répertoire du répertoire contenant le code source JavaScript fichierprocess.cwd()
est synonyme de.
pour tous les cas sauf pourrequire()
?.
est par rapport àprocess.cwd()
(donc synonyme), sauf pourrequire()
qui fonctionne par rapport à exécution courant de fichier. Voir ici pour plus d'.Comme par node js doc
process.cwd()
cwd
est une méthode de l'objet globalprocess
, renvoie une chaîne de valeur qui est le répertoire de travail actuel de l'Node.js processus.Comme par node js doc
__dirname
Le nom du répertoire du script courant comme une chaîne de valeur. __dirname n'est pas réellement un mondial, mais plutôt local pour chaque module.
Laissez-moi vous expliquer avec un exemple,
supposons que nous avons une
main.js
fichier se trouve à l'intérieur deC:/Project/main.js
et en cours d'exécution
node main.js
ces deux valeurs de retour même fichierou tout simplement avec la structure de dossiers suivante
main.js
supposons que nous avons un autre fichier
script.js
fichiers dans un sous répertoire du projet ieC:/Project/lib/script.js
et en cours d'exécutionnode main.js
qui nécessitentscript.js
main.js
script.js
Connaître les portée de chaque peut rendre les choses plus facile à retenir.
process
estnode
globale de l'objet, et.cwd()
au retour, si le nœud est en cours d'exécution.__dirname
estmodule
's bien, et représente le chemin d'accès au fichier du module. Dans le nœud, un module réside dans un seul fichier.De même,
__filename
est un autremodule
's de la propriété, qui détient le nom de fichier du module.