nodejs判断文件类型、遍历路径下的所有文件

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 的回调问题

rootPathList.forEach(function (item, index) {
    console.log(1);
    fs.stat(item,function (err,stats) {
        console.log(2);
    })
})
console.log(3);
以上的输出结果分别是1 3 2
把任何东西写到回调里的话 ,总感觉怪怪的。幸好node提供了同步的方法 statsync
let fsStats = fs.statSync(item);
    if(fsStats.isFile()){
        rootFileList.push(item);
    }else if(fsStats.isDirectory()){
        rootDirList.push(item);
    }

一层路径下的效果已经实现,这时候把函数可以封装然后进行递归调用。

你可能感兴趣的:(nodejs判断文件类型、遍历路径下的所有文件)