TypeScript方法自动生成说明文档-typedoc实战

一、准备项目

1,可以是现有的项目

需要有typescript 插件

2、或者初始化一个项目

首先通过 npm init -y 生成 package.json 文件,并按照我们的需要进行修改:

// E:\www\front-utils\package.json
{
  "name": "learning-typedoc",
  "version": "1.0.0",
  "scripts": {}
}

之后通过 npm install -D typescript 安装 TypeScript,并创建 tsconfig.json 提供语言服务:

// E:\www\front-utils\tsconfig.json
{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "sourceMap": false,
    "noEmit": true,
    "strict": true,
    "resolveJsonModule": true,
    "jsx": "preserve"
  },
  "include": ["./src/utils/*"]
}

二、新建导出方法

按照 tsconfig.json 中的 include 字段创建 ./src/utils/* 目录,在其中编写自己的代码。这里的代码用于演示 TypeDoc 文档生成,大家可以按照自己的想法自行修改。

// E:\www\front-utils\src\utils\index.ts
// 示例代码,大家可以按照自己的想法自行修改
/** 接口 */
export interface MyInterface {
  /** 属性1 */
  key1: number;

  /** 属性2 */
  key2: string;
}

/** 类 */
export class MyClass {
  /** 类的属性 */
  prop1: number

  /** 构造函数 */
  constructor() {
    this.prop1 = this.privateMethod1(1, 2)
  }

  /**
   * 静态方法
   * @param param 参数,字符串列表
   * @returns 返回 Promise 对象
   */
  static staticMethod1(param: string[]) {
    return Promise.resolve(param)
  }

  /**
   * 私有方法
   * @param param1 第一个参数
   * @param param2 第二个参数
   * @returns 两数之和
   */
  private privateMethod1(param1: number, param2: number) {
    return param1 + param2
  }
  
  /** 公共方法 */
  publicMethod(param1: number, param2: number) {
    return this.prop1 + param1 + param2
  }
}

/** 类型 */
export type MyType = 1 | 2 | 3 | 4

/**
 * 函数
 * @param param 参数
 */
export function myFunction(param: MyInterface) {
  return param
}

/** 没有导出的成员,不会出现在文档中 */
class MyClassNotExport {}

三、创建文档导出项目

1,创建 doc 目录,

在此目录中放置所有与文档相关的内容,在此目录下也创建 package.json 文件。

E:\www\front-utils> cd doc
E:E:\www\front-utils\doc> npm init -y
// E:\www\front-utils\doc\package.json
{
  "name": "doc",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

目前的目录结构如下:

learning-typedoc
├─ doc
│  └─ package.json
├─ src
│  └─ utils
│      └─ index.ts
├─ package.json
└─ tsconfig.json

四、TypeDoc 基本使用

1,在 doc 目录下安装 TypeDoc:
E:\www\front-utils\doc> npm install -D typedoc
2,TypeDoc 配置

创建TypeDoc 配置文件:typedoc.json

// E:\www\front-utils\doc\typedoc.json
{
    "$schema": "https://typedoc.org/schema.json",
    "entryPoints": ["../src/utils/*"], // 方法文件入口
    "out": "./dist" // 指定的导出文档目录
}
3,生成html文档

通过命令 typedoc --options <filename>,就可以以配置文件中指定的选项运行。

E:\www\front-utils\doc> npx typedoc --options ./typedoc.json

之后就生成文档doc\dist,打开index.html文件即可查看生成的文档

五、生成markdown文档

1,安装typedoc-plugin-markdown插件
E:\www\front-utils\doc> npm i -D typedoc-plugin-markdown
2,配置markdown配置
// E:\www\front-utils\doc\typedoc.json
{
    "$schema": "https://typedoc.org/schema.json",
    "entryPoints": ["../src/utils/*"],
    "plugin": ["typedoc-plugin-markdown"], // 新增
    "out": "./dist"
}
3,生成markdown文档
E:\www\front-utils\doc> npx typedoc --options ./typedoc.json

生成的markdown文档在E:\www\front-utils\doc目录

参考:https://juejin.cn/post/7310980511454232591

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容