fontendNote
  • docs
  • sources
    • others
      • 数据结构与算法
        • 第一章:绪论
      • 英语阅读积累词汇
      • git
        • 常用Git命令与技巧
        • sourcetree一直提示输入密码的终极解决方案(亲测有效)
      • case
        • 曲线编辑器
          • canvas实现曲线编辑器
      • 计算机常见单词
    • ts
      • ts 配置参考(带注释)
  • source
    • _about
      • 你可能不知道的 vscode 使用技巧
    • _posts
      • css
        • CSS 优化细则
        • sass
          • sass学习笔记
        • 《css世界》书摘
      • js
        • dom
          • 常用js页面跳转方式
          • 跨浏览器的javascript中鼠标滚轮事件
        • performance
          • js性能优化注意事项
      • node
        • npm-package
          • chokidar
        • node中获取正在运行的全部进程数据
        • node中对路径分隔符的兼容性处理
      • tools
        • 你可能不知道的 vscode 使用技巧
      • leetcode
        • 无重复字符的最长子串
        • 题目
  • scaffolds
    • page
    • post
    • draft
Powered by GitBook
On this page
  • chokidar API
  • chokidar.watch(paths, [options])**
  • 代码示例

Was this helpful?

  1. source
  2. _posts
  3. node
  4. npm-package

chokidar

Previousnpm-packageNextnode中获取正在运行的全部进程数据

Last updated 5 years ago

Was this helpful?

github地址:

chokidar API

chokidar.watch(paths, [options])**

返回一个chokidar构造监听实例

参数:

paths

一个字符串或者是一个数组,描述监听的文件或者文件夹的路径

配置对象数据类型

常用配置项:

  • persistent:bollean,与原生fs.watch一样,表示是否保护进程不退出持久监听,默认值为true

  • ignored:string,所要忽略监听的文件或者文件夹

  • ignoreInitial:bollean,表示是否忽略对增加文件或者增加文件夹的时候进行发送事件,默认值为false表示add/addDir会触发事件

  • cwd:string类型,没有默认值,类似于appBasepath,监听的paths所相对的路径。

  • usePolling:bollean,表示是否使用前面提到的fs.watchFile()进行轮询操作,由于轮询会导致cpu飙升,所以此选项通常在需要通过网络监视文件的时候才设置为true即使用fs.watchFile(),默认值为false

  • depth:number类型,没有默认值,如果设定则表示限定了会递归监听多少个子目录。

返回监听实例 FSWatcher API

on(eventName,(path, event) => {})

.add(path / paths):

添加文件,目录或glob模式以进行跟踪。 支持字符串数组或单独字符串路径

.on(event, callback):

监听支持的事件

支持的事件名eventName

  • add 新增文件时触发

  • addDir 新增文件夹的时候触发

  • unlink 对应的文件的删除

  • unlinkDir 对应的文件夹的删除

  • change 文件内容改变时触发

  • all 指代以上所有事件(除了ready, raw, and error之外所有的事件类型)

  • ready

  • raw

  • error 捕获error

callback (path, event) => {} path 指代监听到的文件/文件夹路径

.unwatch(path / paths):

停止监听传入文件/文件夹

.close():

从监视文件中移除/关闭所有侦听器

.getWatched():

返回此FSWatcher实例正在监视的文件系统上所有路径的对象, 对象的键是所有目录(使用绝对路径,除非使用了cwd选项),并且值是每个目录中包含的项的名称的数组。

代码示例

const chokidar = require('chokidar')

chokidar.watch('testFolder', {
  persistent: true,
  ignored: /(^|[\/\\])\../, // 忽略点文件
  cwd: '.', // 表示当前目录
  depth:0 // 只监听当前目录不包括子目录
}).on('all', (event, path) => {//监听除了ready, raw, and error之外所有的事件类型
  console.log(event, path);
});
https://github.com/paulmillr/chokidar