Nest 使用 compodoc 生成文档

启动 compodoc 文档

compodoc 是一个为 TypeScript 项目生成文档的工具,它支持 Angular、Nest。

compodoc 会分析你的代码,并生成一个包含所有类、接口、服务、控制器和模块以及它们依赖关系的文档。

创建 nest 项目:

bash 复制代码
nest new compodoc-test -p npm

安装 compodoc:

bash 复制代码
npm install @compodoc/compodoc -D

package.json 文件的 scripts 部分添加一个新的脚本来运行 compodoc:

json 复制代码
"scripts": {
  "compodoc": "compodoc -p tsconfig.json -s -o",
}
  • -p 是指定 tsconfig 文件
  • -s 是启动静态服务器
  • -o 是打开浏览器

更多选项在 compodoc 文档里可以看到:

生成预览文档:

bash 复制代码
npm run compodoc

自动打开浏览器,并定位到了 README 菜单:

这个 README 菜单其实对应了项目里面的 README:

改一下 READMD.md,然后重新执行命令生成:

overview

文档的 overview 部分分贝是依赖图,和项目有几个模块、controller,可注入的 provider

我们在项目下添加几个模块:

typescript 复制代码
nest g resource test1

nest g resource test2

在 Test1Module 导出 Test1Service:

然后 BbbModule 引入 AaaModule:

在 BbbService 里注入 AaaService:

运行项目:

typescript 复制代码
npm run start:dev

这种依赖关系,compodoc 可视化之后是什么样的呢?

重新跑一下 compodoc:

typescript 复制代码
npm run compodoc

点击左侧的 Modules,可以看到每个模块的可视化分析:

还可以定位到具体代码的实现:

当新人接手这个项目的时候,可以通过这份文档快速了解项目的结构。

compodoc 配置文件

命令行选项也挺多的,我们可以写在 compodoc 配置文件中。

项目下添加一个 .compodoc.json 的文件:

json 复制代码
{
    "port": 8888,
    "theme": "postmark"
}

改下 scripts 里 compodoc 命令:

json 复制代码
"scripts": {
   "compodoc": "compodoc -s -o -c .compodoc.json",
 }

-c 参数告诉 compodoc 使用指定的配置文件。

运行:

bash 复制代码
npm run compodoc

同样能使配置生效。

相关推荐
徐小夕8 小时前
我用 AI 撸了个开源"万能预览器":浏览器直接打开 Office、CAD 和 3D 模型
前端·vue.js·github
小码哥_常8 小时前
Flutter Android 延迟加载代码指南:提升应用性能的关键
前端
小码哥_常8 小时前
Spring Boot 中JWT登录授权+无感刷新,看这篇就够了!
后端
这是个栗子8 小时前
TypeScript(三)
前端·javascript·typescript·react
kvo7f2JTy8 小时前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
北风toto8 小时前
前端CSS样式详细笔记
前端·css·笔记
nanfeiyan8 小时前
git commit
前端
码农BookSea9 小时前
深度解析Skills:从Prompt到能力复用的技术革命
后端·ai编程
计算机毕设指导610 小时前
基于SpringBoot校园学生健康监测管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
希望永不加班10 小时前
SpringBoot 数据库连接池配置(HikariCP)最佳实践
java·数据库·spring boot·后端·spring