# Метод realpath

Метод `realpath` определяет фактическое местоположение пути. В первом параметре указываем исходный путь к файлу или папки, во втором необязательном параметре - кодировку (по умолчанию `'utf-8'`). В третьем необязательном параметре указываем коллбэк.

## Синтаксис

`fs.realpath(путь к файлу, [кодировка], [коллбэк]);`

## Пример

Пусть у нас есть следующая файловая структура:

<$structure$> /dir/ file.txt <-structure->

Давайте асинхронно определим фактическое местоположение пути к файлу `file.txt` через `await`:

`import fs from 'fs/promises'; try { let data = await fs.realpath('./dir/file.txt'); console.log(data); } catch (err) { console.log(err); }`

## Пример

Теперь давайте асинхронно узнаем местоположение пути к файлу `file.txt` через `then`:

`import fs from 'fs/promises'; fs.realpath('./dir/file.txt').then(data => { console.log(data); }).catch((err) => { console.log(err); });`

## Пример

Давайте асинхронно узнаем местоположение пути к файлу из предыдущего примера через коллбэк:

`import fs from 'fs'; fs.realpath('./dir/file.txt', (err, resolvedPath) => { if (!err) { console.log(resolvedPath); } else { console.log(err); } });`

## Пример

Теперь давайте синхронно узнаем местоположение пути к файлу через `realpathSync`:

`import fs from 'fs'; try { let data = fs.realpathSync('./dir/file.txt'); console.log(data); } catch (err) { console.log(err); }`

## Смотрите также

- метод `realpath.native`,
  который определяет фактическое местоположение пути через коллбэк
- метод `link`,
  который изменяет путь к файлу

← →
↑