简介
watchy
是一个基于 Node.js 的命令行工具,用于监视文件和目录的变化并执行相应的操作。它支持通配符模式匹配、忽略特定文件或目录以及在变化发生时运行自定义脚本等高级功能。
安装
使用以下命令来全局安装 watchy
:
npm install -g watchy
使用示例
监视单个文件
下面的命令将监视 index.html
文件是否发生变化,并在变化发生时打印一条消息到控制台:
watchy index.html -- echo "index.html has changed"
监视目录
下面的命令将监视当前目录下所有 .js
文件是否发生变化,并在变化发生时运行 npm test
命令:
watchy '*.js' -- npm test
忽略文件或目录
有时候我们希望忽略某些文件或目录的变化。可以使用 --ignore
参数指定要忽略的文件或目录,支持多个模式匹配:
watchy '*' --ignore 'node_modules' --ignore 'dist' -- npm run build
运行自定义脚本
除了运行内置命令外,还可以运行自定义脚本。例如,下面的命令将在变化发生时运行 build.sh
脚本:
watchy '*' -- bash build.sh
深入理解
监视模式
watchy
支持多种文件匹配模式,包括通配符、正则表达式、glob 和任意 JavaScript 函数。例如以下命令会监视所有以 .js
结尾的文件和名为 index.html
的文件:
watchy '*.js' index.html -- npm test
此外,还可以通过 --poll-interval
参数指定轮询间隔时间(毫秒),默认值为 1000。
执行方式
watchy
支持两种执行方式:子进程和回调函数。当使用子进程时,watchy
会 fork 一个新进程来执行相应的命令或脚本。而当使用回调函数时,则会在主进程中执行回调函数。以下是使用回调函数的例子:
const watch = require('watchy').watch watch('.', () => { console.log('Something has changed!') })
API 文档
除了命令行接口外,watchy
还提供了一组简洁易用的 API 接口,可以在代码中灵活使用。有关详细信息,请参考 官方文档。
总结
本文介绍了 Node.js 中常用的文件监视工具 watchy
的安装和使用方法。通过本文的学习,你可以更加深入地理解 watchy
的高级特性,并掌握如何使用它来监视文件和目录的变化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/49071