const fs = require("fs");
const path = require("path");
function printDirectoryStructure(dir, indent = "", ignoreDirs = []) {
const files = fs.readdirSync(dir);
files.forEach((file) => {
const filePath = path.join(dir, file);
const stats = fs.statSync(filePath);
if (stats.isDirectory()) {
// 判断是否为忽略目录
const isIgnoreDir = ignoreDirs.some((ignoreDir) => {
ignorePath = path.join(process.cwd(), ignoreDir);
return filePath.includes(ignorePath);
});
if (isIgnoreDir) {
// console.log("忽略目录",filePath);
return;
}
console.log(`${indent}├── ${file}`);
printDirectoryStructure(filePath, `${indent}│ `, ignoreDirs);
} else {
console.log(`${indent}├── ${file}`);
}
});
}
const currentDir = process.cwd();
const ignoreDirs = [
"node_modules",
"docs/.vuepress/.cache",
"docs/.vuepress/.temp",
"docs/.vuepress/public",
"docs/知识碎片",
];
console.log("当前项目路径:", currentDir);
console.log("忽略的相对路径:", ignoreDirs);
console.log("当前项目结构如下:");
printDirectoryStructure(currentDir, "", ignoreDirs);
