返回

自动生成目录md文件,让项目结构一目了然

前端

目录对于任何项目来说都是至关重要的,因为它提供了项目结构的鸟瞰图。然而,手动维护目录既耗时又容易出错。想象一下一个大型项目,其中包含数百个文件和文件夹。手动更新目录可能会花费数小时,而且很容易出现遗漏或错误。

这就是自动化发挥作用的地方。使用 node.js 脚本,我们可以自动生成目录 md 文件,其中包含项目中所有文件和文件夹的相对路径。此外,脚本还可以从文件头部注释中提取信息,从而进一步增强目录的实用性。

让我们逐步了解如何使用 node.js 脚本自动生成目录 md 文件。

先决条件

在继续之前,确保您已安装以下内容:

  • Node.js
  • 一个文本编辑器或 IDE

设置项目

创建一个新项目并导航到项目目录。创建一个名为 generate-toc.js 的新文件。这将是我们的 node.js 脚本。

编写脚本

generate-toc.js 文件中,粘贴以下代码:

const fs = require("fs");
const path = require("path");

// 获取当前工作目录
const cwd = process.cwd();

// 扫描项目文件并生成目录
const generateToc = () => {
  // 获取当前目录下的所有文件和文件夹
  const files = fs.readdirSync(cwd, { withFileTypes: true });

  // 创建目录文件
  const toc = fs.createWriteStream("目录.md");

  // 遍历文件和文件夹
  files.forEach((file) => {
    // 如果是文件夹,递归生成目录
    if (file.isDirectory()) {
      generateToc(path.join(cwd, file.name));
    } else {
      // 如果是文件,获取文件路径和头部注释
      const filePath = path.join(cwd, file.name);
      const fileContent = fs.readFileSync(filePath, "utf-8");
      const headerComment = fileContent.match(/^\/\*[\s\S]*?\*\/$/ms);

      // 将文件路径和头部注释写入目录文件
      toc.write(`- [${file.name}](${filePath})`);
      if (headerComment) {
        toc.write(`\n  ${headerComment[0]}\n`);
      }
    }
  });

  // 关闭目录文件
  toc.end();
};

// 调用 generateToc 函数生成目录
generateToc();

运行脚本

在终端中,导航到项目目录并运行以下命令:

node generate-toc.js

脚本将扫描项目文件并生成一个名为 “目录.md” 的文件。该文件将包含项目中所有文件和文件夹的相对路径。此外,它还将包含从文件头部注释中提取的信息(如果存在)。

结论

使用 node.js 脚本自动生成目录 md 文件是一种简单而有效的方法,可以节省时间并提高准确性。通过从文件头部注释中提取信息,目录变得更加有用和信息丰富。下次需要为项目生成目录时,不妨尝试一下这种方法。