//调用fs模块
const fs = require("fs");
const _path = require("path")
//封装函数
function reddirtoString(dirpath){
//如果说传入的类型不是string类型的话则报错
if(typeof dirpath !== "string"){
throw new error(" this is not String");
}
//判断当前路径不是位绝对路径
if(!_path.isabsolute(dirpath)){
//将非绝对路径转换位绝对路径
//__dirpath:当前目录路径
//将当前目录路径链接dirpath路径在返回给dirpath
//绝对路径搜索比相对路径更快
dirpath = _path.join(__dirpath,dirpath)
}
//readdirsync("path")没有回调函数返回当前路径下的目录名
const result = fs.readdirSync(dirpath);
//返回 遍历好的值
return result.map((value)=>{
//通过path模块的join链接dirpath和value值
const path = _path.join(dirpath,value)
//搜索当前文件是否位dir目录或file文件
const type = fs.statSync(path).isDirectory() ? "dir":"file";
let children = null;
if(type === "dir")
{
如果是dir目录的话则在执行一次
children = reddirtoString(path);
}
return{
path,
type,
children
}
})
}
const dirname = reddirtoString("../hell")
//stringify(要转换的文件,是否替换,空格数)//将文件转换位json格式
console.log(JSON.stringify(dirname,null,2));
nodejs 输出目录里所有的文件
最新推荐文章于 2024-04-04 22:56:41 发布