143 votes

Node js Obtenir le chemin du dossier à partir d'un fichier

Existe-t-il un moyen d'obtenir le chemin d'accès à un dossier contenant un fichier particulier ?

fs.realpathSync('config.json', []);

renvoie quelque chose comme

G:\node-demos\7-node-module\demo\config.json

J'ai juste besoin

G:\node-demos\7-node-module\demo\ 
or
G:\node-demos\7-node-module\demo\

Existe-t-il une interface utilisateur pour cela ou dois-je traiter la chaîne de caractères ?

238voto

hereandnow78 Points 4914

Utiliser path.dirname

// onlyPath should be G:\node-demos\7-handlebars-watch\demo
var onlyPath = require('path').dirname('G:\\node-demos\\7-node-module\\demo\\config.json');

18voto

Hydrogirl Points 948

Il suffit d'installer path et l'utiliser,

var path = require('path');
path.dirname('G:\\node-demos\\7-node-module\\demo\\config.json')

// Returns: 'G:\node-demos\7-node-module\demo'

7voto

require("path").dirname(……) casse lorsque votre chemin ne spécifie pas explicitement son répertoire.

require("path").dirname("./..")
// "."

Vous pouvez envisager d'utiliser require("path").join(……, "../") à la place. Cela préserve également le séparateur de fin de ligne.

require("path").join("whatever/absolute/or/relative", "../")
// "whatever/absolute/or/" (POSIX)
// "whatever\\absolute\\or\\" (Windows)

require("path").join(".", "../")
// "../" (POSIX)
// "..\\" (Windows)

require("path").join("..", "../")
// "../../" (POSIX)
// "..\\..\\" (Windows)

require("path").win32.join("C:\\", "../")
// "C:\\"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X