web-dev-qa-db-fra.com

Obtenir le nom du répertoire parent dans Node.js

J'utilise Node.js et je souhaite obtenir le nom du répertoire parent d'un fichier. J'ai le fichier "../test1/folder1/FolderIWant/test.txt".

Je veux obtenir "FolderIWant".

J'ai essayé:

var path = require('path');
var parentDir = path.dirname(filename);

Mais il retourne ../test1/folder1/FolderIWant.

44
Me5

tilisez plutôt la réponse de @ danielwolf à la place


Utilisez split () et pop ():

path.dirname(filename).split(path.sep).pop()
45
chris p bacon

Ce que vous voulez, c'est path.basename :

_path.basename(path.dirname(filename))
_
121
Daniel Wolf

La réponse de Daniel Wolf est correcte, même si vous voulez le chemin complet du répertoire parent:

require('path').resolve(__dirname, '..')
6
Dirigible

En utilisant le noeud à partir de 06-2019, j'ai rencontré un problème pour accéder uniquement à filename. Au lieu de cela, je viens de le modifier un petit peu et d’utiliser:

path.dirname(__filename).split(path.sep).pop()

alors maintenant vous obtenez le nom du répertoire actuel dans lequel vous vous trouvez et non le chemin complet. Bien que les réponses précédentes semblent probablement fonctionner pour d'autres, cela m'a posé problème car le noeud cherchait un const ou une variable, mais ne pouvait pas en trouver.

const path = require('path');

module.exports = path.dirname(process.mainModule.filename)

Utilisez ceci n'importe où pour obtenir le répertoire racine

0
C Williams