На этой странице

У каждого файла в системе есть путь. В Linux и macOS путь может выглядеть так: /users/joe/file.txt, тогда как компьютеры на Windows отличаются и имеют структуру вроде: C:\users\joe\file.txt

Работая с путями в своих приложениях, нужно быть внимательным, поскольку это различие необходимо учитывать.

Вы подключаете этот модуль в свои файлы через const path = require('node:path'); — и можете начинать пользоваться его методами.

По заданному пути можно извлечь информацию с помощью следующих методов:

  • dirname: получает родительскую папку файла
  • basename: получает часть с именем файла
  • extname: получает расширение файла
const path = require('node:path');

const notes = '/users/joe/notes.txt';

path.dirname(notes); // /users/joe
path.basename(notes); // notes.txt
path.extname(notes); // .txt

Получить имя файла без расширения можно, указав второй аргумент в basename:

Соединить две и более части пути можно с помощью path.join():

const name = 'joe';
path.join('/', 'users', name, 'notes.txt'); // '/users/joe/notes.txt'

Вычислить абсолютный путь из относительного можно с помощью path.resolve():

В этом случае Node.js просто добавит /joe.txt к текущей рабочей директории. Если указать вторым параметром папку, resolve будет использовать первый параметр как базу для второго:

Если первый параметр начинается со слэша, это означает абсолютный путь:

path.normalize() — ещё одна полезная функция, которая попытается вычислить фактический путь, когда он содержит относительные указатели вроде . или .. либо двойные слэши:

Ни resolve, ни normalize не проверяют, существует ли путь. Они лишь вычисляют путь на основе полученной информации.