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