Node.js提供了fs.watch
和fs.watchFile
用於監控文件的變化。不過Node.js的這兩個函數做的不夠好,API也並不友善,因此,github上可以找到不少它們的wrapper。這裏介紹的是Paul Miller的Chokidar。
安裝
Chokidar可以使用包管理器來安裝:
npm install chokidar
使用
Chokidar的使用非常簡單,一起來看一個例子:
chokidar = require 'chokidar'
watcher = chokidar.watch 'files', persistent: true
watcher
.on 'add', (path) ->
console.log(path, 'added')
.on 'change', (path) ->
console.log(path, 'changed')
.on 'unlink', (path) ->
console.log(path, 'removed')
如果還想得到更多關於文件的信息,可以使用複雜一點的回調函數:
watcher.on 'change' (path, stats) ->
console.log('File', path, 'changed size to', stats.size)
這裏,stats
是相應的fs.Stats
對象,格式見這裏。