首先,一個文件里面的內容是由多個文件共同組成的。例如一個文件夾包含有多文件(文件夾)
然后,當其中一個發生變化時所用與之有直接作用的文件(文件夾)都會重新組合。
/*注意:該例子需要在同級目錄下完成及該腳本去監聽另一個與之同目錄下的文件,然后發生變化后,將所有內容重新生成到Index.js中*/ var fs=require('fs'); var fileder="./First/sourse";//需要監聽的文件路徑 fs.watch(fileder,function (ev,file) { //不需要判斷是否有內容 //1.只有有一個文件發生了變化,我們就需要對這個文件夾下的文件進行讀取,然后合並 fs.readdir(fileder,function (err,dataList) { var arr=[]; dataList.forEach(function (f) {//回調函數中的f對應每一個文件名 // console.log(dataList); // console.log(f); var info=fs.statSync(fileder+'/'+f);//fs.stat() 檢查一個文件是否存在 // console.log(info); if(info.mode==33206){ arr.push(fileder+'/'+f); } }); //console.log(arr) //2.讀取數組中的文件並合並 var content=''; arr.forEach(function (f) { var c= fs.readFileSync(f) //console.log(c.toString()); content+=c.toString()+'\n'; }); //console.log(content) fs.writeFile('./First/js/Index.js',content)//將變化后的內容生成到指定位置 }) });