Вопрос проверяет знание основных подходов к работе с файловой системой в Node.js.
В Node.js для работы с файлами используется модуль fs. Он предоставляет синхронные и асинхронные методы. Асинхронные методы предпочтительнее, так как не блокируют event loop. Для современных приложений рекомендуется использовать Promise-based API (fs.promises).
Node.js предоставляет мощный модуль fs (File System) для работы с файлами.
Основные подходы:
Синхронные методы (блокирующие):
const fs = require('fs');
const data = fs.readFileSync('file.txt', 'utf8');Асинхронные методы с callback:
fs.readFile('file.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});Promise-based API (рекомендуется):
const fs = require('fs').promises;
async function readFile() {
try {
const data = await fs.readFile('file.txt', 'utf8');
console.log(data);
} catch (error) {
console.error(error);
}
}Основные операции:
Чтение файлов (readFile)
Запись файлов (writeFile)
Удаление файлов (unlink)
Работа с директориями (mkdir, readdir)
Лучшие практики:
Используйте асинхронные методы для избежания блокировки
Обрабатывайте ошибки с помощью try-catch для promise-based API
Используйте потоки для работы с большими файлами