node 递归遍历多层目录,获取目录和文件

2020-07-01  本文已影响0人  芸芸众生ing
const fs = require('fs');

let rootPath = __dirname + '\\\\' + 'a';
let obj = querydir(rootPath);
let str = JSON.stringify(obj, "", "\t");
fs.writeFile('./data.json', str, function (err) {
    if (err) { console.log('文件写入错误', err) }
})
function querydir(path) {
    let list = fs.readdirSync(path);
    if (list && list.length > 0) {
        return list.map(name => {
            let dir = path + '/' + name;
            let isFile = fs.statSync(dir);
            if (isFile && isFile.isDirectory()) {
                return { class: name, name, child: querydir(dir, name) };
            } else {
                return { name, path:  dir.replace(rootPath, '') }
            }
        })
    }
} 
上一篇 下一篇

猜你喜欢

热点阅读