Отримати ім’я батьківського каталогу в Node.js


80

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

Я хочу отримати "FolderIWant" .

Я намагався:

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

Але воно повертається ../test1/folder1/FolderIWant.

Відповіді:




41

Відповідь Даніеля Вульфа є правильною, також якщо ви хочете повний шлях батьківського каталогу:

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

0
const path = require('path');

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

Використовуйте це де завгодно, щоб отримати кореневий каталог


він показує помилку в mainModule. Невирішена змінна mainModule
usman imtiaz

0

Використовуючи node станом на 06-2019, я зіткнувся з проблемою доступу просто filename. Отже, натомість я просто трохи його змінив і використав:

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

отже, тепер ви отримуєте ім'я поточного каталогу, в якому ви перебуваєте, а не повний шлях. Хоча попередні відповіді, мабуть, працюють для інших, у мене це викликало проблеми, оскільки вузол шукав const або змінну, але не міг знайти.



0

Найпростіший спосіб без будь-яких вузлових модулів, як шлях. Ви можете легко зробити наступним чином, щоб отримати ім’я кореневої папки.

var rootFolder = __dirname.split('/').pop();
console.log(rootFolder);

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.