zoukankan      html  css  js  c++  java
  • 如何使用NodeJs来监听文件变化

    1.前言

    在我们调试修改代码的时候,每修改一次代码,哪怕只是很小的修改,我们都需要手动重新build文件,然后再运行代码,看修改的效果,这样的效率特别低,对于开发者来说简直不能忍。

    2.构建自动编译工具

    如何使用nodeJs来监听文件变化,一旦源文件修改保存时,自动运行build过程。比如当你写CoffeeScript文件或SASS文件时,保存之后可即时生成对应的JS或CSS.

    基于Node.JS的侦听文件夹改变的模块有很多。

    a .  fs.watch。Node.JS的文件系统也可侦听某个目录的改变

     

    fs.watch的最大缺点就是不支持子文件夹的侦听,并且在很多情况下会侦听到两次事件(很多编辑器在保存的时侯是先把原文件清空,再进行保存,因此会触发两次文件夹改变事件)。因此需要一些开源的文件夹监听文件夹目录的改变。

    b.      Chokidarchokidar 是一个基于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

  • 相关阅读:
    负数求余数 C 和 Matlab&Python 处理不一样
    [Matlab] 线性卷积&圆周卷积代码实现
    [Arduino] 驱动RC522 读取 UID例程
    [C++] Nested Radical Constant
    [Arduino] 学习总结小合集(更新ING)
    谐振电路的品质因素总结
    142. Linked List Cycle II
    664. Strange Printer
    188. Best Time to Buy and Sell Stock IV
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/alisayuan/p/5355081.html
Copyright © 2011-2022 走看看