如何使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM