Skip to content

feat(graphql): 由 Vercel Serverless function 驱动的 GraphQL API #29

@ANGJustinl

Description

@ANGJustinl

描述

1. ♻️ 创建 GraphQL API 架构

  • 架构变更:使用 Vercel Serverless API (/api/graphql)。
  • 客户端更新:更新了 client.js,现在通过 fetch 请求后端 API。

2. 📝 文档结构调整

  • 路径迁移:将 GraphQL API 文档从根目录移至 /api/docs,降低对普通用户的干扰。
  • 入口调整:将 API 文档入口从主导航栏移至"相关链接"下拉菜单中。
  • 内容更新:更新了 API 文档以反映新的 Serverless 架构,增加了 curl/fetch/Python 的调用示例。

部署相关 (后端部分需要部署Vercel平台)

关于 Vercel 部署

无需额外配置,只需将代码合并至 main 分支。Vercel 会自动读取 vercel.json 和 api 目录进行部署。

  • Vercel 预设环境变量 VERCEL=1 会被构建脚本自动识别,从而正确设置网站根路径。

关于本地开发

由于 API 现在的运行依赖于 Serverless Function 环境,在本地开发时如果需要调试 API 相关功能,建议使用 Vercel CLI:

npm i -g vercel
vercel dev

如果直接运行 npm run docs:dev,页面浏览正常,但涉及 GraphQL 的数据请求可能会因为没有后端环境而失败(除非配置了代理)。


Check List

  • 修复 Vercel 资源加载路径
  • 迁移 GraphQL 到 Serverless 模式
  • 更新 API 文档及路由
  • 构建测试通过

At #28

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions