Проверка существования директории

TypeScript:
Проверка существования директории

Как:

В TypeScript обычно используется модуль fs из Node.js для проверки директории. Вот простой способ сделать это:

import { existsSync } from 'fs';

// Проверяем существование директории
const directoryPath = './path/to/directory';

if (existsSync(directoryPath)) {
  console.log(`Да, она есть!`);
} else {
  console.log(`Нет, её не существует.`);
}

Вывод зависит от существования директории:

Да, она есть!
// или
Нет, её не существует.

Подробнее

Раньше люди использовали асинхронный fs.exists, но его признали устаревшим из-за того, что он имел склонность вызывать ошибки в коде, такие как условия гонки при проверке, а затем действии. existsSync проще и исключает путаницу с обратными вызовами.

Что касается альтернатив, методы fs.statSync или fs.accessSync тоже могут справиться с задачей, но требуют чуть больше кода:

import { statSync } from 'fs';

try {
  const stats = statSync(directoryPath);
  if (stats.isDirectory()) {
    console.log('Действительно существует.');
  }
} catch (error) {
  if (error.code === 'ENOENT') {
    console.log('Нет, нигде не найдено.');
  }
}

И statSync, и accessSync выбрасывают ошибки, если путь не существует, так что вам нужно будет обработать это.

Используя TypeScript, помните, что эти методы поступают из Node.js, а не из TypeScript как такового. А роль TypeScript? В основном, он просто предоставляет типы и убеждается, что вы правильно используете методы.

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