var fs = require('fs');
var dirPath = require('path');
var filePath = dirPath.resolve(__dirname);
var fileArr = [];
var ignores = ['node_modules','dist']
var charSet = {
'node': '├── ',
'pipe': '│ ',
'last': '└── ',
'indent': ' '
};
function readFile(path,level) {
var files = fs.readdirSync(path);
files.forEach(function (filename,index) {
if (ignores.includes(filename)) {
console.log(filename + "已经忽略");
} else {
var stats = fs.statSync(path + '/' + filename);
if (stats.isFile()) {
if (level === 1) {
fileArr.push(charSet.node + filename);
} else {
var arr = '';
for (var i = 2; i < level; i++) {
arr += charSet.indent;
}
fileArr.push(charSet.pipe + arr + charSet.last + filename);
}
writeFile(fileArr);
} else if (stats.isDirectory()) {
if (level===1) {
fileArr.push(charSet.node + filename);
} else {
var str = '';
for (var i = 2; i < level; i++) {
str += charSet.indent;
}
fileArr.push(charSet.pipe + str + charSet.node + filename);
}
writeFile(fileArr);
readFile(path + '/' + filename, level+1);
}
}
});
}
function writeFile(data) {
var data = data.join("\n");
fs.writeFile(filePath + "/" + "filelist.md", data + '\n', function (err) {
if (err) throw err;
});
}
readFile(filePath,1);