直接看代碼
其中dir可以自己制定要遍歷的目錄
getAll = function (level: any, dir: any) {
let path = require('path');
let fs = require('fs');
var filesNameArr = []
let cur = 0
var mapDeep:any = {}
mapDeep[dir] = 0
function getMap(dir:any, curIndex:any) {
var files = fs.readdirSync(dir)
files.map(function (file:any) {
var subPath = path.join(dir, file)
var stats = fs.statSync(subPath)
if (file != 'node_modules') {
mapDeep[file] = curIndex + 1
if (stats.isDirectory()) {
return getMap(subPath, mapDeep[file])
}
}
})
}
getMap(dir, mapDeep[dir])
function readdirs(dir:any, folderName:any, myroot?:any) {
var result:any = {
path: dir,
title: path.basename(dir),
type: 'directory',
deep: mapDeep[folderName]
}
var files = fs.readdirSync(dir)
result.children = files.map(function (file:any) {
var subPath = path.join(dir, file)
var stats = fs.statSync(subPath)
if (stats.isDirectory()) {
return readdirs(subPath, file, file)
}
return {
path: subPath,
name: file,
type: 'file'
}
})
return result
}
filesNameArr.push(readdirs(dir, dir))
return filesNameArr
}
生成的樹形結構如下
{
"path": "./static/車墩鎮/聯建村/農村宅基地資料/Z0901002",
"title": "Z0901002",
"type": "directory",
"deep": 0,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料",
"title": "1、權源證明材料",
"type": "directory",
"deep": 1,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\上海市農村宅基地使用證",
"title": "上海市農村宅基地使用證",
"type": "directory",
"deep": 2,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\上海市農村宅基地使用證\\上海市農村宅基地使用證.pdf",
"name": "上海市農村宅基地使用證.pdf",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\其他權源資料",
"title": "其他權源資料",
"type": "directory",
"deep": 2,
"children": []
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\戶口簿",
"title": "戶口簿",
"type": "directory",
"deep": 2,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\戶口簿\\戶口簿.pdf",
"name": "戶口簿.pdf",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表",
"title": "松江縣農村宅基地使用權審覈表",
"type": "directory",
"deep": 2,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0067.JPG",
"name": "pic0067.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0068.JPG",
"name": "pic0068.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0069.JPG",
"name": "pic0069.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0070.JPG",
"name": "pic0070.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0071.JPG",
"name": "pic0071.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0072.JPG",
"name": "pic0072.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0073.JPG",
"name": "pic0073.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0074.JPG",
"name": "pic0074.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\pic0075.JPG",
"name": "pic0075.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\1、權源證明材料\\松江縣農村宅基地使用權審覈表\\松江縣農村宅基地使用權審覈表.pdf",
"name": "松江縣農村宅基地使用權審覈表.pdf",
"type": "file"
}
]
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\2、宅基地戶代表推舉表",
"title": "2、宅基地戶代表推舉表",
"type": "directory",
"deep": 1,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\2、宅基地戶代表推舉表\\宅基地戶代表推舉表.pdf",
"name": "宅基地戶代表推舉表.pdf",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\3、宅基地指界人委託書",
"title": "3、宅基地指界人委託書",
"type": "directory",
"deep": 1,
"children": []
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\4、農村宅基地調查出席指界通知書",
"title": "4、農村宅基地調查出席指界通知書",
"type": "directory",
"deep": 1,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\4、農村宅基地調查出席指界通知書\\農村宅基地調查出席指界通知書.pdf",
"name": "農村宅基地調查出席指界通知書.pdf",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\5、地籍調查表",
"title": "5、地籍調查表",
"type": "directory",
"deep": 1,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\5、地籍調查表\\地籍調查表.pdf",
"name": "地籍調查表.pdf",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料",
"title": "6、取證材料",
"type": "directory",
"deep": 1,
"children": [
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179主房-1.JPG",
"name": "20170412聯建村1組179主房-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179主房-2.JPG",
"name": "20170412聯建村1組179主房-2.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179全景照片-1.JPG",
"name": "20170412聯建村1組179全景照片-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179定位取證照-1.JPG",
"name": "20170412聯建村1組179定位取證照-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-1.JPG",
"name": "20170412聯建村1組179簡易房-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-2.JPG",
"name": "20170412聯建村1組179簡易房-2.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-3.JPG",
"name": "20170412聯建村1組179簡易房-3.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-4.JPG",
"name": "20170412聯建村1組179簡易房-4.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-5.JPG",
"name": "20170412聯建村1組179簡易房-5.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-6.JPG",
"name": "20170412聯建村1組179簡易房-6.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179簡易房-7.JPG",
"name": "20170412聯建村1組179簡易房-7.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179身份證-1.JPG",
"name": "20170412聯建村1組179身份證-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179身份證-2.JPG",
"name": "20170412聯建村1組179身份證-2.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179輔房-1.JPG",
"name": "20170412聯建村1組179輔房-1.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179輔房-2.JPG",
"name": "20170412聯建村1組179輔房-2.JPG",
"type": "file"
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\6、取證材料\\20170412聯建村1組179門牌號-1.JPG",
"name": "20170412聯建村1組179門牌號-1.JPG",
"type": "file"
}
]
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\7、界線協議書",
"title": "7、界線協議書",
"type": "directory",
"deep": 1,
"children": []
},
{
"path": "static\\車墩鎮\\聯建村\\農村宅基地資料\\Z0901002\\8、宅基地及其上房屋權屬調查表",
"title": "8、宅基地及其上房屋權屬調查表",
"type": "directory",
"deep": 1,
"children": []
}
]
}