Comments 7
У fs.watch и fs.watchFile слишком много проблем. Вместо них, большинство проектов уже давно используют chokidar, в котором учтены все проблемы fs модуля.
Создаешь chokidar.watch с нужными опциями, например:
ignored: /(^|[\/\\])\../ отбросит dot файлы
depth: 10 ограничит глубину сканирования до 10 уровней.
И не нужно вычислять никакой md5 для того, чтобы избавиться от ненужных сообщений
Создаешь chokidar.watch с нужными опциями, например:
var watcher = chokidar.watch(path, {
ignored: /(^|[\/\\])\../,
ignoreInitial: true,
depth: 10,
awaitWriteFinish: {
stabilityThreshold: 2000,
pollInterval: 100
},
}).on('all', (event, path) => {
console.log(`Chokidar event: ${event}, ${path}`)
})
ignored: /(^|[\/\\])\../ отбросит dot файлы
depth: 10 ограничит глубину сканирования до 10 уровней.
И не нужно вычислять никакой md5 для того, чтобы избавиться от ненужных сообщений
+5
В что в плане производительности можете сказать? Это обёртка над fs.watch или же написаный на с++ с нуля модуль?
+1
chokidar это обертка node.js fs.watch / fs.watchFile / fsevents
При использовании fs.watchFile нагружает CPU меньше, чем оригинал. На странице модуля можно посмотреть список других преимуществ
При использовании fs.watchFile нагружает CPU меньше, чем оригинал. На странице модуля можно посмотреть список других преимуществ
+1
В примере отслеживается один файл, и всё работает.
А если их несколько, и во время таймаута изменился ещё один, то второе изменение будет пропущено?
(Я понимаю, что это перевод, но, может, кто-нибудь уже знает ответ?)
А если их несколько, и во время таймаута изменился ещё один, то второе изменение будет пропущено?
(Я понимаю, что это перевод, но, может, кто-нибудь уже знает ответ?)
0
Sign up to leave a comment.
Наблюдение за изменениями файлов в Node.js