TypeDoc for TypeScript:完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 TypeDoc,为什么需要它?

\n\n

TypeDoc 是一个用于 TypeScript 项目的强大文档生成器。它能根据您在代码中以 JSDoc 格式编写的注释,自动生成美观、结构化的 HTML 页面。如果您曾编写过 TypeScript 代码,并希望快速获得类似 TypeScript 官方文档或流行库那样的文档,TypeDoc 正是您所需要的工具。

\n\n

为什么需要它?在现代开发中,文档不是奢侈品,而是必需品。TypeDoc 解决了几个关键问题:

\n
    \n
  • 自动化:您无需手动编写文档。只需为函数、类、接口和类型添加注释,TypeDoc 就能生成一个完整的网站。
  • \n
  • 时效性:文档始终与代码保持一致,因为它直接从代码生成。
  • \n
  • 导航:TypeDoc 创建了便捷的项目导航:树形结构、搜索、类型链接。
  • \n
  • TypeScript 支持:它能理解复杂的 TypeScript 类型:泛型、工具类型、函数重载、模块和命名空间。
  • \n
  • 可扩展性:TypeDoc 支持主题、插件和自定义。
  • \n
\n\n

TypeDoc 非常适合用于:

\n
    \n
  • 通过 npm 分发的库和包。
  • \n
  • 需要快速让新开发人员熟悉代码的内部项目。
  • \n
  • 基于 TypeScript 的服务器端应用程序的 API 文档。
  • \n
  • 注重直观性的教育项目。
  • \n
\n\n

安装 TypeDoc

\n\n

TypeDoc 通过 npm(Node 包管理器)安装。请确保您已安装 Node.js(版本 14 或更高)。

\n\n

最简单的方法是全局安装 TypeDoc:

\n
npm install -g typedoc
\n\n

然而,对于项目,建议将其安装为本地开发依赖项:

\n
npm install --save-dev typedoc
\n\n

安装后,您可以检查版本:

\n
npx typedoc --version
\n\n

如果您使用 Yarn:

\n
yarn add -D typedoc
\n\n

对于 pnpm:

\n
pnpm add -D typedoc
\n\n

快速入门及代码示例

\n\n

让我们创建一个简单的项目并为其生成文档。

\n\n

步骤 1:创建项目

\n
mkdir my-typedoc-project\ncd my-typedoc-project\nnpm init -y
\n\n

步骤 2:安装 TypeDoc

\n
npm install --save-dev typedoc
\n\n

步骤 3:创建代码文件 src/index.ts

\n
/**\n * 用于数学运算的模块。\n * @module MathUtils\n */\n\n/**\n * 将两个数字相加。\n * @param a - 第一个数字\n * @param b - 第二个数字\n * @returns a 和 b 的和\n * @example\n * ```typescript\n * const result = add(2, 3);\n * console.log(result); // 5\n * ```\n */\nexport function add(a: number, b: number): number {\n    return a + b;\n}\n\n/**\n * 从第一个数字中减去第二个数字。\n * @param a - 被减数\n * @param b - 减数\n * @returns a 和 b 的差\n */\nexport function subtract(a: number, b: number): number {\n    return a - b;\n}\n\n/**\n * 表示二维空间中点的接口。\n */\nexport interface Point {\n    /** X 坐标 */\n    x: number;\n    /** Y 坐标 */\n    y: number;\n}\n\n/**\n * 计算两点之间的距离。\n * @param p1 - 第一个点\n * @param p2 - 第二个点\n * @returns 两点之间的距离\n */\nexport function distance(p1: Point, p2: Point): number {\n    const dx = p2.x - p1.x;\n    const dy = p2.y - p1.y;\n    return Math.sqrt(dx * dx + dy * dy);\n}

推荐