Этот вопрос проверяет знание методов мониторинга файловой системы в Node.js, что полезно для создания систем наблюдения или горячей перезагрузк
В Node.js можно использовать fs.watch() и fs.watchFile() для отслеживания изменений в файлах. Первый метод реагирует быстрее, а второй более гибкий, но потребляет больше ресурсов.
В Node.js есть два способа отслеживать изменения файлов:
fs.watch()
Отслеживает изменения в файле или директории. Работает асинхронно и более производительно.
const fs = require('fs');
fs.watch('example.txt', (eventType, filename) => {
console.log(`Файл ${filename} изменен. Тип события: ${eventType}`);
});eventType: Тип события (например, rename или change).
filename: Имя измененного файла.
fs.watchFile()
Работает синхронно и проверяет файл с заданным интервалом времени. Использует polling.
const fs = require('fs');
fs.watchFile('example.txt', { interval: 1000 }, (curr, prev) => {
console.log(`Файл изменен. Размер был ${prev.size}, стал ${curr.size}`);
});curr и prev: Объекты с метаданными файла до и после изменений.
Когда использовать:
fs.watch() — для быстрых обновлений.
fs.watchFile() — если важна точность отслеживания и стабильность.