如何使用NodeJs来监听文件变化

 我来答
EvenHHZ
2016-10-18 · 知道合伙人软件行家
EvenHHZ
知道合伙人软件行家
采纳数:13691 获赞数:18845
个人出版图书:《玩转Python网络爬虫》、《玩转Django2.0》

向TA提问 私信TA
展开全部
1.前言
在我们调试修改代码的时候,每修改一次代码,哪怕只是很小的修改,我们都需要手动重新build文件,然后再运行代码,看修改的效果,这样的效率特别低,对于开发者来说简直不能忍。
2.构建自动编译工具
如何使用nodeJs来监听文件变化,一旦源文件修改保存时,自动运行build过程。比如当你写CoffeeScript文件或SASS文件时,保存之后可即时生成对应的JS或CSS.
基于Node.JS的侦听文件夹改变的模块有很多。
a . fs.watch。Node.JS的文件系统也可侦听某个目录的改变

fs.watch的最大缺点就是不支持子文件夹的侦听,并且在很多情况下会侦听到两次事件(很多编辑器在保存的时侯是先把原文件清空,再进行保存,因此会触发两次文件夹改变事件)。因此需要一些开源的文件夹监听文件夹目录的改变。
b. Chokidar。chokidar 是一个基于node.JS的监听文件夹改变模块
步骤: 1. 运行 npm install chokidar --save-dev
npm install [-g] shelljs

2. 创建一个文件helper.js
3. 在helper.js文件中写入:
var chokidar = require('chokidar');
var shelljs = require('shelljs');
chokidar.watch('accordion').on('change', function(){
'use strict';
shelljs.exec("grunt build:accordion");
shelljs.exec("node helper.js");
//shelljs.exit(1); 执行完就退出
});
在控制台输出:node helper.js就可以使用chokidar来监控我们的test.html 文件的变化,这里是监控change变化,一旦test.html 文件有修改并保存,那么控制台就会输出语句:aaa.
shellJs是用来执行命令
c. Watch. Watch 是另一个监听文件夹改变的Node.JS模块
类似chokidar的用法,推荐chokidar
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式