NPM酷库:chokidar监视文件变化

NPM酷库,每天两分钟,了解一个流行NPM库。

像 webpack / grunt /gulp 等工具都提供watch模式,当磁盘文件变化后自动重新运行打包。今天我们要学习的chokidar就是一款专门用于文件监控的库。

Node.js 标准库

其实Node.js 标准库中提供 fs.watch 和 fs.watchFile 两个方法用于处理文件监控,但是为什么我们还需要chokidar呢?因为 fs.watch 和 fs.watchFile 存在以下问题:

  • OS X 系统环境不报告文件名变化
  • OS X 系统中使用Sublime等编辑器时,不报告任何事件
  • 经常会报告两次事件
  • 多数事件通知为 rename
  • 还有其他大量的问题
  • 不能够简单地递归监控文件树

chokidar 用法

const chokidar = require('chokidar');const watcher = chokidar.watch('file, dir, glob, or array', {ignored: /(^|[\/\\])\../,persistent: true
});watcher.on('add', path => console.log(`File ${path} has been added`)).on('change', path => console.log(`File ${path} has been changed`)).on('unlink', path => console.log(`File ${path} has been removed`)).on('addDir', path => console.log(`Directory ${path} has been added`)).on('unlinkDir', path => console.log(`Directory ${path} has been removed`)).on('error', error => console.log(`Watcher error: ${error}`)).on('ready', () => console.log('Initial scan complete. Ready for changes')).on('all', (event, path) => console.log(event,path)).on('raw', (event, path, details) => {log('Raw event info:', event, path, details);});

chokidar 可以用于监控文件、文件夹变化,我们可以传入 glob 文件匹配模式,并可以简单实现递归目录监控。chokidar 可以监控各种文件、文件夹变化事件,包含 add , change , unlink , addDir , unlinkDir 等。

参考资料

https://github.com/paulmillr/...

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1619765.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

这几十个前端炫酷库你都知道吗?

茶已备好&#xff0c;只待君来&#xff01;感谢关注 前端点线面 (>‿<&#xff09;&#xff0c;本号定期推荐原创深度好文&#xff0c;帮助每一位在前端领域打拼的伙伴们走向前列&#xff0c;此外关注我获取最前沿知识点、海量学习资料、《前端百题斩》、大量思维导图&am…

NPM酷库:ip,IP地址处理

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 今天我们来了解一个专门用来处理IP地址的库&#xff1a;ip&#xff0c;ip库能够获取本机IP地址、比较、转换、掩码/子网计算等各种和网络IP相关的操作&#xff1a; const ip require(ip);// 获取本机网卡IP ip.…

NPM酷库:globby,增强版的glob

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天&#xff0c;我们学习了一个新库 glob&#xff0c;用于模式匹配目录文件。今天&#xff0c;我们要了解的globby&#xff0c;是基于 glob&#xff0c;并进一步得到了增强了功能。 globby 特性 相对于 glob&am…

vue2 路由入门

一、单页应用程序介绍 1.概念 单页应用程序&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 2.具体示例 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页应用网站&#xff1a;京东 https://jd.com/ 3.单页应用 VS 多页…

c++ 判断基类指针指向的真实对象类型

在 c 面向对象使用中&#xff0c;我们常常会定义一个基类类型的指针&#xff0c;在运行过程中&#xff0c;这个指针可能指向一个基类类型的对象&#xff0c;也可能指向的是其子类类型的对象&#xff0c;那现在问题来了&#xff0c;我们如何去判断这个指针到底执行了一个什么类型…

Markdown中的LaTeX公式详解

引言 LaTeX是一种用于排版科学和数学文档的排版系统&#xff0c;它能够以高质量的方式生成复杂的数学公式。在CSDN&#xff08;Cnblogs和CSDN&#xff09;这样的博客平台中&#xff0c;也支持使用LaTeX语法插入数学公式。本文将详细介绍在CSDN中使用LaTeX公式的方法和常用语法&…

IgA | 对抗病原菌,帮助共生菌定植的“重要开关”

导 语&#xff1a;关于抗体&#xff0c;免疫和微生物 肠道微生物群的组成因个体而异&#xff0c;肠道微生物群中的特定细菌类群可能是某些肠内外疾病的独特有效驱动因素。对人类而言&#xff0c;精准且优先识别影响疾病易感性和严重性的细菌仍然是一项重大挑战。 很多时候我们想…

医院信息系统服务器存储维护,首都医科大学宣武医院电子病历系统服务器及存储设备维护服务项目招标公告...

产品介绍  飞顿lovely AFT是一台功能全面的皮肤美容工作站&#xff0c;它应用了光子领域最前沿的技术和科学成果&#xff0c;将一个工作平台与四个光子设备对接&#xff0c;组成一个功能十分强大的光子工作站。它可独立解决皮肤美容的各种问题&#xff0c;是目前应用最广泛&a…

合成生物学公司如何操纵微生物组

来源&#xff1a;肠道产业 这是《肠道产业》第 807 篇文章 编者按 近年来&#xff0c;合成生物学领域的研究不断推进&#xff0c;许多公司纷纷出手&#xff0c;将合成生物学用于治疗各种各样的疾病&#xff0c;包括靶向微生物组。那么有哪些在微生物组领域探索的合成生物学公司…

相机下载_美颜轻相机最新版下载-美颜轻相机app下载v1.70206 安卓版

美颜轻相机app是一款超棒的美颜相机工具。专业的实时相机&#xff0c;大量的各种滤镜挑选&#xff0c;丰富智能的功能拍照&#xff0c;完美的拍出你喜欢的效果&#xff01;还能自由补光&#xff0c;延迟拍照等等&#xff0c;功能强大&#xff01; 美颜轻相机最新版介绍 【魅力彩…

体内湿气重怎样祛除

1.如何判断自己身体是否有湿&#xff1f; 1.头发爱出油 2.面部油亮 3.睡觉留口水 &#xff08;湿气饱和自行流出&#xff09; 4.排便粘稠&#xff08;不易冲掉&#xff09;且多便。 5.小肚子大 6.耳内湿&#xff08;耳禅湿&#xff09;7.阴部潮湿。 湿是如何形成的&#xff1…

springboot整合rabbitmq死信队列

springboot整合rabbitmq死信队列 什么是死信 说道死信&#xff0c;可能大部分观众大姥爷会有懵逼的想法&#xff0c;什么是死信&#xff1f;死信队列&#xff0c;俗称DLX&#xff0c;翻译过来的名称为Dead Letter Exchange 死信交换机。当消息限定时间内未被消费&#xff0c;…

Linux网络编程经典书籍推荐

Linux网络编程经典书籍推荐 目录(?)[] 首先要说讲述TCP/IP的书很多&#xff0c;其中有3泰书很全。 分别是《TCP/IP详解》三卷本&#xff0c;《用TCP/IP进行网际互连》三卷本&#xff0c;《TCP/IP指南》《IPv6》四卷本 其中TCP/IP详解的作者还写了另外2本经典著作&#xff0c;《…

网络编程学习之经典书籍推荐

网络编程学习之经典书籍推荐 TCP/IP协议卷一、二、三下载地址 程序编号&#xff1a;510 程序名称&#xff1a; 《TCP/IP详解&#xff0c;卷1&#xff1a;协议》书 pdf格式 程序类型&#xff1a;电子书 文件大小&#xff1a; 13000 K 字节 上传时间&#xff1a;2003-3-18 18:07…

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化 目录 聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 FCM模糊C均值聚类&#xff0c;聚类结果可视化&#xff0c;MATLAB程序。 FCM&#xff08;Fuzzy C-Means&a…

基于适应度相关算法优化的BP神经网络(预测应用) - 附代码

基于适应度相关算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于适应度相关算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.适应度相关优化BP神经网络2.1 BP神经网络参数设置2.2 适应度相关算法应用 4.测试结果&…

渗透测试工具ZAP入门教程(3)-扫描流程

使用ZAP扫描网站流程如下&#xff1a; 1&#xff09;、输入URL&#xff0c;点击启动浏览器&#xff0c;在打开的浏览器登录要扫描的网站&#xff0c;操作页面各种功能&#xff0c;尽可能遍历所有功能及页面 2&#xff09;、点击Spider Start按钮&#xff0c;爬取静态地址&…

HandlerMethod类源码解析

HandlerMethod类用于封装控制器方法信息&#xff0c;包含类信息、方法Method对象、参数、注解等信息&#xff0c;具体的接口请求是可以根据封装的信息调用具体的方法来执行业务逻辑&#xff1b; HandlerMethod有三个子类分别是InvocableHandlerMethod、ServletInvocableHandler…

Spring MVC 学习总结

学习目标 了解 Spring MVC 是什么&#xff0c;为什么要使用它或者说它能解决什么问题&#xff0c;其与 Spring 是什么关系。理解为什么配置 Spring MVC 的前端控制器的映射路径为 “/” 会导致静态资源访问不了&#xff0c;掌握怎么处理这个问题。掌握基于注解方式使用 Spring…

java反射之Method的invoke方法实现

在框架中经常会会用到method.invoke()方法&#xff0c;用来执行某个的对象的目标方法。以前写代码用到反射时&#xff0c;总是获取先获取Method&#xff0c;然后传入对应的Class实例对象执行方法。然而前段时间研究invoke方法时&#xff0c;发现invoke方法居然包含多态的特性&a…