如何使用NodeJs來監聽文件變化

1.前言html

在咱們調試修改代碼的時候,每修改一次代碼,哪怕只是很小的修改,咱們都須要手動從新build文件,而後再運行代碼,看修改的效果,這樣的效率特別低,對於開發者來講簡直不能忍。node

2.構建自動編譯工具git

如何使用nodeJs來監聽文件變化,一旦源文件修改保存時,自動運行build過程。好比當你寫CoffeeScript文件或SASS文件時,保存以後可即時生成對應的JS或CSS.github

基於Node.JS的偵聽文件夾改變的模塊有不少。shell

a .  fs.watch。Node.JS的文件系統也可偵聽某個目錄的改變npm

 

fs.watch的最大缺點就是不支持子文件夾的偵聽,而且在不少狀況下會偵聽到兩次事件(不少編輯器在保存的時侯是先把原文件清空,再進行保存,所以會觸發兩次文件夾改變事件)。所以須要一些開源的文件夾監聽文件夾目錄的改變。api

b.      Chokidarchokidar 是一個基於node.JS的監聽文件夾改變模塊編輯器

    步驟: 1. 運行 npm  install  chokidar --save-devgrunt

                   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

相關文章
相關標籤/搜索