用途:在网站或应用中展示 GitHub 仓库的实时星标数,作为社交证明。适用于需要添加星标数、星标按钮、星标组件或 GitHub 社交证明的场景。
主要能力:提供两种集成模式。客户端 Hook(默认):浏览器直接调用 GitHub API,公共仓库无需 API key,未认证时每个 IP 限额 60 次/小时,多数站点够用,抓取失败时星标数不渲染。服务端缓存:通过自有 API 路由配合 GITHUB_TOKEN 代理,限额提升至 5000 次/小时,可加 next: { revalidate: 300 } 缓存 5 分钟,适合高流量页面或需要在构建时获得星标数的场景。
使用方式:提供 useGitHubStars(repo) React Hook,通过 fetch 请求 https://api.github.com/repos/${repo} 读取 stargazers_count;失败时捕获但不影响图标显示。展示模式使用 lucide-react 的 Github 图标加链接,星标数为非空时才显示数字,并用 tabular-nums 避免数字位数变化导致布局抖动,图标始终渲染,即使 GitHub 不可用链接仍可用。
适用场景:为项目落地页、开源项目主页、产品网站等添加 GitHub 星标社交证明。
限制:公开仓库无需密钥;客户端方式有每小时 60 次每 IP 的速率限制;高流量或构建时需星标数的场景需改用服务端缓存并配置 GITHUB_TOKEN。更详细的 Next.js 服务端缓存 API 路由、移动端响应式展示、速率限制详情、动画星标数等未在资料中给出具体内容。