nodeJs 遍歷遞歸,生成文件樹
(很想說nodejs 官方的文檔寫的好爛)
一個一個來忽冻,先看nodejs怎么判斷文件類型真朗。
通過這個帖子(文檔上的解釋還不如這個帖子。)僧诚,可以知道nodeJs是怎么判斷類型的遮婶。
const fs = require('fs');
fs.stat('.git',function (err, stats) {
console.log(stats.isFile());
console.log(stats.isDirectory());
})
nodeJs如何遍歷路徑下的所有文件
const filePath = fs.readdirSync('./');
在具體寫代碼的時候,碰到了node 的回調(diào)問題
rootPathList.forEach(function (item, index) {
console.log(1);
fs.stat(item,function (err,stats) {
console.log(2);
})
})
console.log(3);
以上的輸出結(jié)果分別是1 3 2
把任何東西寫到回調(diào)里的話 湖笨,總感覺怪怪的旗扑。幸好node提供了同步的方法 statsync
let fsStats = fs.statSync(item);
if(fsStats.isFile()){
rootFileList.push(item);
}else if(fsStats.isDirectory()){
rootDirList.push(item);
}
一層路徑下的效果已經(jīng)實(shí)現(xiàn),這時候把函數(shù)可以封裝然后進(jìn)行遞歸調(diào)用慈省。