当前位置: 首页 > 后端技术 > Node.js

NPM酷库:chokidar监控文件变化

时间:2023-04-03 17:27:12 Node.js

NPM酷库,每天两分钟了解一个流行的NPM库。webpack/grunt/gulp等工具提供监视模式,当磁盘文件发生变化时自动重新运行打包。今天我们要学习的chokidar是一个专门用于文件监控的库。Node.js标准库其实Node.js标准库提供了fs.watch和fs.watchFile两个处理文件监控的方法,但是为什么需要chokidar呢?因为fs.watch和fs.watchFile存在以下问题:OSX系统环境不报告文件名更改。在OSX系统中使用Sublime等编辑器时,不报任何事件。通常会报告两个事件。大部分事件通知都是rename等大量问题不能简单的递归监控文件树chokidar用法constchokidar=require('chokidar');constwatcher=chokidar.watch('file,dir,glob,orarray',{忽略:/(^|[\/\\])\../,persistent:true});watcher.on('add',path=>console.log(`File${path}hasbeenadded`)).on('change',path=>console.log(`File${path}hasbeenchanged`)).on('unlink',path=>console.log(`File${path}hasbeenremoved`)).on('addDir',path=>console.log(`目录${path}已添加`)).on('unlinkDir',path=>console.log(`目录${path}已添加已删除`)).on('error',error=>console.log(`Watchererror:${error}`)).on('ready',()=>console.log('初始扫描完成。准备更改')).on('all',(event,path)=>console.log(event,path)).on('raw',(event,path,details)=>{log('原始事件信息:',event,path,details);});chokidar可以用来监听文件和文件夹的变化,我们可以传入glob文件匹配模式,并且可以简单实现递归目录监听chokidar可以监听各种文件和文件夹的变化事件,包括add,change,unlink,addDir,unlinkDir,etc.参考资料https://github.com/paulmillr/...欢迎关注公众号:梁星辰每天学一个npm库,一年后成为node.js高手