web-dev-qa-db-ja.com

Node.jsで親ディレクトリ名を取得する

Node.jsを使用していますが、ファイルの親ディレクトリ名を取得したいです。ファイル"../test1/folder1/FolderIWant/test.txt"があります。

"FolderIWant"を取得したい。

私が試してみました:

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

ただし、../test1/folder1/FolderIWantを返します。

44
Me5

代わりに@danielwolfの回答を使用する方が良い


Split()およびpop()を使用します。

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

あなたが望むのは path.basename

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

ダニエル・ウルフの答えは正しいです。親ディレクトリのフルパスが必要な場合も同様です。

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

2019年6月6日現在のノードを使用して、filenameのみにアクセスする問題に遭遇しました。その代わり、私はそれをほんの少し変更して使用しました:

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

そのため、現在のディレクトリのディレクトリ名を取得し、フルパスではありません。以前の答えは他の人にとってもうまくいくように見えますが、私にとっては、ノードがconstまたは変数を探していたが見つからなかったため、問題が発生しました。

const path = require('path');

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

これをどこでも使用してルートディレクトリを取得します

0
C Williams