读取所有文件并汇总到一个文件中

183 阅读1分钟

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);
  }
});