Краткий справочник

Шпаргалка по модулю path в Node.js

Краткое руководство по модулю path в Node.js: разрешение путей, объединение сегментов, извлечение имен каталогов, расширений и нормализация.

· Опубликовано

Модуль path в Node.js предоставляет утилиты для работы с путями к файлам и каталогам с поддержкой различных операционных систем.

Объединение и разрешение путей (join и resolve)

const path = require('path');

// Объединяет сегменты и нормализует полученный путь
path.join('/users', 'local', 'bin', '..');
// => '/users/local'

// Разрешает абсолютный путь справа налево относительно cwd
path.resolve('src', 'index.js');
// => '/current/working/dir/src/index.js'

Разбор составляющих пути

const fullPath = '/workspace/project/src/main.ts';

path.dirname(fullPath);
// => '/workspace/project/src' // Имя родительского каталога

path.basename(fullPath);
// => 'main.ts' // Имя файла с расширением

path.basename(fullPath, '.ts');
// => 'main' // Имя файла без расширения

path.extname(fullPath);
// => '.ts' // Расширение файла

path.parse(fullPath);
// Разбирает путь на объект свойств
// {
//   root: '/',
//   dir: '/workspace/project/src',
//   base: 'main.ts',
//   ext: '.ts',
//   name: 'main'
// }

Относительные пути и нормализация

// Относительный путь от A к B
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// => '../../impl/bbb'

// Нормализует путь, удаляя лишние разделители
path.normalize('/foo/bar//baz/asdf/quux/..');
// => '/foo/bar/baz/asdf'

Разделители путей для различных ОС

// Разделитель пути: '/' в POSIX или '\' в Windows
path.sep;

// Разделитель переменной PATH: ':' в POSIX или ';' в Windows
path.delimiter;

Ссылки и материалы

Связанные темы