Метод watch - наблюдение за изменениями в файле или папки на NodeJS

Метод watch устанавливает наблюдения за изменениями в файле или папки. В первом параметре метода указываем название нужного нам файла или же задаем путь к нему. Во втором необязательном параметре указываем объект с опциями. В третьем необязательном параметре задаем слушателя, в котором указываем eventType, показывающий тип изменений в файле и filename, передающий имя файла, в котором происходят изменения.

Синтаксис

fs.watch(имя файла или путь к нему, [опции], [слушатель]);

Объект с опциями

Опция Описание
persistent Задает продолжение работы процесса во время просмотра файлов. Значение по умолчанию true.
recursive Если true, наблюдает за папкой рекурсивно, то есть со всем содержимым. По умолчанию его значение false.
encoding Задает кодировку символов, которая использовалась для файла, переданного слушателю. По умолчанию его значение 'utf8'.
signal Время, по прошествии которого будет прекращено наблюдение за папкой. Значение по умолчанию null.

Пример

Давайте асинхронно начнем наблюдения за изменениями в файле:

import fs from 'fs'; try { await fs.watch('file.txt'); console.log('file watched'); } catch (err) { console.log(err); }

Пример

А теперь давайте зададим параметры слушателя - eventType и filename, чтобы отследить какие типы изменений происходят в нашем файле:

import fs from 'fs'; fs.watch('file.txt', (eventType, filename) => { console.log('file', filename, 'was modified!'); console.log('type of change was:', eventType); }); setTimeout( () => fs.renameSync('file.txt', 'fileNew.txt'), 1000 );

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

  • метод watchFile,
    который устанавливает наблюдения за изменениями в файле
  • метод unwatchFile,
    который прекращает наблюдения за изменениями в файле



Чат с GPT Компилятор