Appearance
🚀 百闻AI Coworker 部署说明
Base 路径自动适配
本项目的 VitePress 配置已经兼容 Vercel、自定义域名 与 GitHub Pages 的不同部署路径,并支持通过环境变量覆盖站点域名。
自动适配逻辑
javascript
// docs/.vitepress/config.mjs
const isVercel = process.env.VERCEL === '1' || !!process.env.VERCEL_URL
const base = process.env.BASE || (isVercel ? '/' : '/easy-vibe/')
const siteUrl = process.env.SITE_URL || process.env.VERCEL_PROJECT_PRODUCTION_URL部署环境对比
| 平台 | Base 路径 | 站点域名建议 | 示例 URL |
|---|---|---|---|
| Vercel / 自定义域名 | / | 设置 SITE_URL=https://your-domain.com | https://your-domain.com/zh-cn/stage-0/... |
| GitHub Pages | /easy-vibe/ | 设置 SITE_URL=https://your-org.github.io/easy-vibe | https://your-org.github.io/easy-vibe/zh-cn/stage-0/... |
| 本地开发 | /easy-vibe/ | 使用默认本地地址 | http://localhost:5175/easy-vibe/zh-cn/stage-0/... |
| 本地预览 | /easy-vibe/ | 使用默认本地地址 | http://localhost:4175/easy-vibe/zh-cn/stage-0/... |
首页动态链接
首页使用 VitePress 的 useData() API 来动态获取 base 路径:
vue
<script setup>
import { useData } from 'vitepress'
const { site } = useData()
const base = site.value.base
</script>
<template>
<a :href="base + 'cn/stage-0/0.1-learning-map/'">
<!-- 链接会自动适配部署环境 -->
</a>
</template>优点:
- ✅ 无需硬编码 fallback 值
- ✅ 自动适配 Vercel 和 GitHub Pages
- ✅ 构建时和运行时都正确
部署步骤
推荐环境变量
SITE_URL:站点正式外部访问域名,用于 canonical、OG、sitemap、robots 等 SEO 输出BASE:仅在确实需要子路径部署时设置,例如/easy-vibe/
Vercel 部署
- 推送代码到 GitHub
- Vercel 会自动检测
vercel.json配置 - 设置
SITE_URL=https://your-domain.com或你的正式预览域名 - 自动构建并部署
- 访问你的正式域名
GitHub Pages 部署
配置 GitHub Pages 设置:
- Source:
gh-pages分支 - 或使用 GitHub Actions 从
main分支部署
- Source:
构建命令:
bashnpm run build建议额外设置
SITE_URL=https://your-org.github.io/easy-vibe访问你的 GitHub Pages 地址
验证部署
部署后检查以下链接是否正常:
- [ ] 首页能正常访问
- [ ] 导航栏链接能正确跳转
- [ ] 首页卡片"查看详情"链接正确
- [ ] 语言切换功能正常
- [ ] 图片资源能正常加载
常见问题
Q: Vercel 部署后链接变成 /easy-vibe/zh-cn/... 导致 404
原因:Vercel 环境变量未正确设置
解决:
- 检查是否误设了
BASE=/easy-vibe/ - 确认
SITE_URL指向正式域名 - 重新部署
Q: GitHub Pages 部署后所有链接 404
原因:缺少 /easy-vibe/ base 路径
解决:
- 检查
docs/.vitepress/config.mjs中的 base 配置 - 确保 GitHub Pages 环境下
BASE=/easy-vibe/或使用默认值 - 重新构建并部署
Q: 本地预览链接缺少 /easy-vibe/ 前缀
原因:使用了错误的预览命令
解决:
bash
# 错误
npm run preview # 默认端口 4175,但路径可能不对
# 正确
npm run build
npm run preview # 访问 http://localhost:4175/easy-vibe/