Ответ 1
Лучше используйте ответ @danielwolf вместо
Используйте split() и pop():
path.dirname(filename).split(path.sep).pop()
Я использую Node.js, и я хочу получить имя родительского каталога для файла. У меня есть файл "../test1/folder1/FolderIWant/test.txt"
.
Я хочу получить "FolderIWant"
.
Я пытался:
var path = require('path');
var parentDir = path.dirname(filename);
Но он возвращает ../test1/folder1/FolderIWant
.
Лучше используйте ответ @danielwolf вместо
Используйте split() и pop():
path.dirname(filename).split(path.sep).pop()
То, что вы хотите, это path.basename
:
path.basename(path.dirname(filename))
Ответ Даниэля Вольфа верен, даже если вы хотите указать полный путь родительского каталога:
require('path').resolve(__dirname, '..')
const path = require('path');
module.exports = path.dirname(process.mainModule.filename)
Используйте это где угодно, чтобы получить корневой каталог
Используя узел с 06-2019, я столкнулся с проблемой доступа только к filename
. Поэтому вместо этого я чуть-чуть изменил его и использовал:
path.dirname(__filename).split(path.sep).pop()
так что теперь вы получаете имя текущего каталога, в котором вы находитесь, а не полный путь. Хотя предыдущие ответы, кажется, могут работать для других, для меня это вызывало проблемы, так как узел искал const или переменную, но не мог найти ее.