✅ 双构建独立部署配置完成
📋 已完成的配置
1. 核心配置文件 ✅
文件 | 说明 | 状态 |
---|---|---|
.vitepress/config/shared.ts | 共享配置(构建优化、主题等) | ✅ 已创建 |
.vitepress/config-cn.ts | 中文站配置(ls-ai.cn) | ✅ 已创建 |
.vitepress/config-en.ts | 英文站配置(flareseek.com) | ✅ 已创建 |
2. 跨域语言切换配置 ✅
文件 | 说明 | 状态 |
---|---|---|
public/scripts/crossDomainMapping.js | 浏览器端跨域映射配置 | ✅ 已创建 |
.vitepress/scripts/crossDomainMapping.js | 服务端跨域映射配置 | ✅ 已更新 |
3. 构建脚本 ✅
已在 package.json
中添加以下命令:
json
{
"dev:cn": "开发中文站",
"dev:en": "开发英文站",
"build:cn": "构建中文站 → dist-cn/",
"build:en": "构建英文站 → dist-en/",
"build:all": "构建所有站点",
"preview:cn": "预览中文站(端口 4173)",
"preview:en": "预览英文站(端口 4174)",
"verify": "验证双构建配置"
}
4. 文档和工具 ✅
文件 | 说明 | 状态 |
---|---|---|
docs-internal/DUAL_BUILD_DEPLOYMENT.md | 完整部署文档 | ✅ 已创建 |
docs-internal/QUICK_START.md | 快速开始指南 | ✅ 已创建 |
scripts/verify-dual-build.js | 配置验证工具 | ✅ 已创建 |
🎯 配置要点
中文站配置 (config-cn.ts)
typescript
{
lang: 'zh-CN',
base: '/',
outDir: './dist-cn',
srcExclude: ['**/en/**', 'docs-internal/**'], // 排除英文内容和内部文档
sitemap: { hostname: 'https://ls-ai.cn' },
// 包含中文 SEO、百度统计等
}
英文站配置 (config-en.ts)
typescript
{
lang: 'en-US',
base: '/',
srcDir: './en', // ⚠️ 源目录指向 /en/
outDir: './dist-en',
srcExclude: ['docs-internal/**'], // 排除内部文档
sitemap: { hostname: 'https://flareseek.com' },
// 包含英文 SEO、Google Analytics 等
}
关键特性
✅ 路径自动重写
- 构建前:
/en/docs/installation.md
- 构建后:
/docs/installation.html
(自动去掉 /en/)
✅ URL 结构一致
- 中文站:
ls-ai.cn/docs/installation
- 英文站:
flareseek.com/docs/installation
✅ SEO 优化
- 自动添加 hreflang 标签
- 独立的 sitemap.xml
- 分别配置的 JSON-LD 结构化数据
✅ 内部文档隔离
docs-internal/
文件夹专门存放开发文档- 构建时自动排除,不会出现在网站中
🚀 立即开始使用
步骤 1: 验证配置
bash
npm run verify
步骤 2: 本地开发
bash
# 终端 1 - 开发中文站
npm run dev:cn
# 终端 2 - 开发英文站
npm run dev:en
步骤 3: 构建站点
bash
npm run build:all
步骤 4: 预览构建结果
bash
# 终端 1 - 预览中文站
npm run preview:cn
# 访问 http://localhost:4173
# 终端 2 - 预览英文站
npm run preview:en
# 访问 http://localhost:4174
📂 构建产物
中文站 (dist-cn/)
dist-cn/
├── index.html # ls-ai.cn/
├── docs/
│ ├── installation.html # ls-ai.cn/docs/installation
│ ├── faq.html
│ └── ...
├── blog/
├── download.html
├── pricing.html
├── contact.html
├── assets/
└── sitemap.xml
英文站 (dist-en/)
dist-en/
├── index.html # flareseek.com/
├── docs/
│ ├── installation.html # flareseek.com/docs/installation
│ ├── faq.html
│ └── ...
├── blog/
├── download.html
├── pricing.html
├── contact.html
├── assets/
└── sitemap.xml
⚠️ 重要: 两个站点的文件结构完全相同!
📚 完整文档
文档 | 内容 |
---|---|
QUICK_START.md | 快速开始(1分钟上手) |
DUAL_BUILD_DEPLOYMENT.md | 完整部署指南(包含Nginx配置) |
文档编写规范.md | 内部文档编写规范 |
⚠️ 注意事项
1. 静态资源共享
/public/
目录需要在两个站点中都存在。
解决方案(选一个):
bash
# 方案1: 复制(Windows 推荐)
xcopy /E /I public en\public
# 方案2: 软链接(Linux/Mac 推荐)
cd en
ln -s ../public public
2. 文件路径对应
确保中英文文件路径完全一致:
✅ 正确
/docs/installation.md
/en/docs/installation.md
❌ 错误
/docs/installation.md
/en/docs/install.md # 文件名不一致!
3. 内部文档管理
- ✅ 所有开发文档放在
docs-internal/
- ✅ 文档会自动从构建中排除
- ✅ 按照 文档编写规范.md 编写新文档
✅ 验证清单
在部署前请确认:
- [ ] 运行
npm run verify
通过 - [ ] 运行
npm run build:all
成功 - [ ]
dist-cn/
目录包含中文站所有文件 - [ ]
dist-en/
目录包含英文站所有文件 - [ ] 两个站点的文件结构相同
- [ ] 预览中文站正常(
npm run preview:cn
) - [ ] 预览英文站正常(
npm run preview:en
) - [ ]
docs-internal/
文件夹未出现在构建产物中
🆘 遇到问题?
常见问题
构建失败?
- 检查 Node.js 版本(需要 16+)
- 删除
node_modules
重新安装 - 运行
npm run verify
检查配置
英文站路径错误?
- 确认
config-en.ts
中srcDir: './en'
- 检查
/en/
目录是否存在
- 确认
内部文档出现在网站中?
- 检查
config-cn.ts
和config-en.ts
的srcExclude
配置 - 确认包含
'docs-internal/**'
- 检查
获取帮助
- 📖 查看 DUAL_BUILD_DEPLOYMENT.md 常见问题部分
- 🔍 搜索 VitePress 官方文档
- 💬 提交 Issue
🎉 配置完成!
所有双构建配置已就绪,您可以:
- ✅ 运行
npm run verify
验证配置 - ✅ 运行
npm run build:all
构建站点 - ✅ 查看
dist-cn/
和dist-en/
目录 - ✅ 按照 DUAL_BUILD_DEPLOYMENT.md 进行部署
下一步: 阅读 QUICK_START.md 快速上手!
配置完成时间: 2025-01-10
VitePress 版本: 1.6.4
Node.js 要求: 16+
最后更新: 2025-01-10