GPT写的,需要自取
递归读取某个目录的文件进行输出
import fs from 'fs';
import path from 'path';
// 目标目录
const dirPath = './src'; // 请替换为你的目录路径
// 输出文件
const outputFile = './output.js'; // 输出文件路径
// 递归读取文件
function readFilesRecursively(directory) {
let content = '';
// 读取当前目录下的所有文件和子目录
const files = fs.readdirSync(directory);
files.forEach((file) => {
const filePath = path.join(directory, file);
const stat = fs.lstatSync(filePath);
if (stat.isDirectory()) {
// 如果是目录,递归调用
content += readFilesRecursively(filePath);
} else if (stat.isFile()) {
// 如果是文件,读取文件内容
const fileContent = fs.readFileSync(filePath, 'utf-8');
content += `// ${filePath}\n${fileContent}\n\n`;
}
});
return content;
}
// 获取所有文件内容
const content = readFilesRecursively(dirPath);
// 将拼接后的内容写入输出文件
fs.writeFile(outputFile, content, 'utf-8', (err) => {
if (err) {
console.error('写入文件失败:', err);
} else {
console.log('文件内容成功写入到', outputFile);
}
});