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

Использование модуля 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