В TypeScript проверка существования папки — обычная задача при работе с файловыми системами или выполнении операций с каталогами. В этой статье блога мы рассмотрим различные методы выполнения этой задачи, попутно предоставляя примеры кода и пояснения. Итак, начнём!
Метод 1: использование fs.existsSync() из модуля fs
Модуль fs в Node.js предоставляет простой способ проверить существование папки. Мы можем использовать функцию existsSync()для синхронной проверки существования заданного пути. Вот пример:
import fs from 'fs';
const folderPath = '/path/to/folder';
if (fs.existsSync(folderPath)) {
console.log('Folder exists!');
} else {
console.log('Folder does not exist!');
}
Метод 2: использование fs.access() из модуля fs
Другой подход — использовать функцию access()из модуля fs. Этот метод является асинхронным и позволяет выполнять более детальные проверки, например проверку разрешений на чтение или запись. Вот пример:
import fs from 'fs';
const folderPath = '/path/to/folder';
fs.access(folderPath, fs.constants.F_OK, (err) => {
if (err) {
console.log('Folder does not exist!');
} else {
console.log('Folder exists!');
}
});
Метод 3: использование fs.promises.access() из модуля fs/promises
Если вы предпочитаете работать с обещаниями вместо обратных вызовов, вы можете использовать функцию access()из модуля fs/ модуль обещаний. Этот метод возвращает обещание, позволяющее использовать синтаксис async/await. Вот пример:
import { promises as fsPromises } from 'fs';
const folderPath = '/path/to/folder';
async function checkFolderExists() {
try {
await fsPromises.access(folderPath);
console.log('Folder exists!');
} catch (err) {
console.log('Folder does not exist!');
}
}
checkFolderExists();
Метод 4: использование fs.readdir() из модуля fs.
Если вам нужно проверить, существует ли папка, а также получить ее содержимое, вы можете использовать функцию readdir()из fs. модуль. Если папка не существует, будет выдана ошибка. Вот пример:
import fs from 'fs';
const folderPath = '/path/to/folder';
fs.readdir(folderPath, (err, files) => {
if (err) {
console.log('Folder does not exist!');
} else {
console.log('Folder exists!');
console.log('Files:', files);
}
});
Резюме:
В этой статье мы рассмотрели различные методы проверки существования папки в TypeScript. Мы рассмотрели четыре подхода: использование existsSync()из модуля fs, использование access()из модуля fs, использование access()из модуля fs/promises и используя readdir()из модуля fs. У каждого метода есть свои преимущества и варианты использования, поэтому выберите тот, который лучше всего соответствует вашим требованиям.