什么是 TypeDoc,为什么需要它?
\n\nTypeDoc 是一个用于 TypeScript 项目的强大文档生成器。它能根据您在代码中以 JSDoc 格式编写的注释,自动生成美观、结构化的 HTML 页面。如果您曾编写过 TypeScript 代码,并希望快速获得类似 TypeScript 官方文档或流行库那样的文档,TypeDoc 正是您所需要的工具。
\n\n为什么需要它?在现代开发中,文档不是奢侈品,而是必需品。TypeDoc 解决了几个关键问题:
\n- \n
- 自动化:您无需手动编写文档。只需为函数、类、接口和类型添加注释,TypeDoc 就能生成一个完整的网站。 \n
- 时效性:文档始终与代码保持一致,因为它直接从代码生成。 \n
- 导航:TypeDoc 创建了便捷的项目导航:树形结构、搜索、类型链接。 \n
- TypeScript 支持:它能理解复杂的 TypeScript 类型:泛型、工具类型、函数重载、模块和命名空间。 \n
- 可扩展性:TypeDoc 支持主题、插件和自定义。 \n
TypeDoc 非常适合用于:
\n- \n
- 通过 npm 分发的库和包。 \n
- 需要快速让新开发人员熟悉代码的内部项目。 \n
- 基于 TypeScript 的服务器端应用程序的 API 文档。 \n
- 注重直观性的教育项目。 \n
安装 TypeDoc
\n\nTypeDoc 通过 npm(Node 包管理器)安装。请确保您已安装 Node.js(版本 14 或更高)。
\n\n最简单的方法是全局安装 TypeDoc:
\nnpm install -g typedoc\n\n然而,对于项目,建议将其安装为本地开发依赖项:
\nnpm install --save-dev typedoc\n\n安装后,您可以检查版本:
\nnpx typedoc --version\n\n如果您使用 Yarn:
\nyarn add -D typedoc\n\n对于 pnpm:
\npnpm add -D typedoc\n\n快速入门及代码示例
\n\n让我们创建一个简单的项目并为其生成文档。
\n\n步骤 1:创建项目
\nmkdir my-typedoc-project\ncd my-typedoc-project\nnpm init -y\n\n步骤 2:安装 TypeDoc
\nnpm install --save-dev typedoc\n\n步骤 3:创建代码文件 src/index.ts
/**\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}