Метод 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
,
который прекращает наблюдения за изменениями в файле