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