Перейти к содержанию

Path

Модуль Node.js Path является встроенным и предоставляет набор функций для работы с путями в файловой системе.

Подключение модуля.

const path = require('path')

Наиболее часто используемые методы Node.js Path:

basename() - возвращает конечную часть пути, первым параметром принимает путь, вторым необязательным аргументом - расширение файла, которое нужно убрать из возвращаемого результата;

path.basename('/srv/app/app.js') //app.js
path.basename('/srv/app/app.js', '.js') //app

dirname() - возвращает директорию переданного пути;

path.dirname('/srv/app/app.js') // \srv\app

extname() - возвращает расширение файла переданного пути;

path.extname('/srv/app/app.js') //.js

isAbsolute() - булевое значение, true, если переданный путь является абсолютным;

path.isAbsolute('/srv/app/app.js') //true
path.isAbsolute('srv/app/app.js') //false

join() - принимает неограниченное количество составных частей пути, включая возвраты в родительские директории, и возвращает полученный в результате путь;

path.join('/srv/app', '../config/..', 'app/app.js') // \srv\app\app.js

normalize() - приводит к корректному и оптимальному виду переданный путь;

path.normalize('/srv//app///app.js') // \srv\app\app.js

parse() - разбирает переданный путь на элементы и возвращает объект со следующими свойствами:

  • root - корень пути;
  • dir - директория;
  • base - конечная часть пути;
  • ext - расширение файла;
  • name - имя файла (директории) без расширения;

relative() - принимает два пути и возвращает относительный путь от первого ко второму;

path.relative('/srv/app/app.js', '/srv/config/default.conf') // ..\..\config\default.conf

resolve() - принимает составные части пути и возвращает абсолютный путь полученного в результате обработки переданных сегментов пути.

path.resolve('/srv/app', 'app.js') // D:\srv\app\app.js