Получить имя родительского каталога в Node.js

Я использую Node.js, и я хочу получить имя родительского каталога для файла. У меня есть файл "../test1/folder1/FolderIWant/test.txt".

Я хочу получить "FolderIWant".

Я пытался:

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

Но он возвращает ../test1/folder1/FolderIWant.

Ответ 2

То, что вы хотите, это path.basename:

path.basename(path.dirname(filename))

Ответ 3

Ответ Даниэля Вольфа верен, даже если вы хотите указать полный путь родительского каталога:

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

Ответ 4

const path = require('path');

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

Используйте это где угодно, чтобы получить корневой каталог

Ответ 5

Используя узел с 06-2019, я столкнулся с проблемой доступа только к filename. Поэтому вместо этого я чуть-чуть изменил его и использовал:

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

так что теперь вы получаете имя текущего каталога, в котором вы находитесь, а не полный путь. Хотя предыдущие ответы, кажется, могут работать для других, для меня это вызывало проблемы, так как узел искал const или переменную, но не мог найти ее.