求推荐可直接从SDL文件生成GraphQL静态文档的工具或工具链
直接从SDL生成GraphQL文档的工具推荐
绝对有不少工具能帮你跳过自省调用那一步,直接从SDL文件生成清晰的GraphQL API文档,不用折腾构建阶段生成存根的繁琐流程。我给你整理几个不同生态下的靠谱选项:
JavaScript/TypeScript生态(最成熟)
1. GraphQL Code Generator + 文档插件
这是生态里最灵活的方案之一,通过官方的文档生成插件,你可以直接读取SDL文件,生成Markdown、HTML甚至自定义格式的文档,还能完美提取SDL里的注释内容。
用法步骤大概是:
- 安装依赖:
npm install -D @graphql-codegen/cli @graphql-codegen/markdown-docs - 创建
codegen.yml配置文件:schema: ./path/to/your/schema.graphql generates: ./docs/graphql-docs.md: plugins: - markdown-docs config: # 可以自定义标题、注释提取规则等 title: "My GraphQL API Documentation" - 运行生成命令:
npx graphql-codegen
如果想要HTML格式的文档,还可以搭配@graphql-codegen/html-docs插件,生成带样式的静态HTML页面。
2. graphql-markdown
这是专门为生成Markdown文档打造的工具,对SDL的注释支持非常友好,还支持自定义主题、分类组织类型,甚至能生成可直接部署到GitHub Pages的文档结构。
用法也很简单:
- 安装:
npm install -g graphql-markdown - 直接生成:
graphql-markdown generate --schema ./schema.graphql --output ./docs
它会自动把SDL里用"""包裹的注释转换成文档里的描述内容,还能帮你按类型(查询、突变、对象类型等)分类整理。
其他语言生态
如果你用非JS/TS的技术栈,也有对应的工具:
- Go语言:可以试试
gqlgen,它主要是生成GraphQL服务器代码,但附带了生成文档的功能,能直接从SDL生成Markdown文档,配置好后运行gqlgen docs就能产出。 - Python:
graphene生态下的graphene-django-extras附带了文档生成能力,或者专门的graphql-sdl-docs库,能读取SDL文件并生成HTML文档。
小提示
不管选哪个工具,记得在SDL里写好详细的注释(用"""包裹的多行注释),工具都会把这些注释提取出来作为文档的核心内容,让生成的文档更实用。
内容的提问来源于stack exchange,提问作者Fried Brice
相关产品推荐
相关产品推荐

