构建与启动文档站点
本文档介绍如何将 SkillFlaw 文档站点作为独立服务进行构建、预览与启动。
文档站点当前不再挂载在产品运行时的 /doc/ 路径下,而是以独立站点根路径提供服务。本地通常使用 http://localhost:3030/,部署环境中通常使用独立的文档域名或独立服务入口。
前置条件
在执行文档站点相关命令前,请先确认:
- 当前目录位于仓库根目录;
- 本机已安装 Yarn;
- 已执行:
_10make docs_install
文档系统统一使用 Yarn 作为包管理器,并将本地缓存放在 docs/.yarn-cache。
选择合适的工作流
根据目标选择命令:
| 目标 | 命令 | 结果 |
|---|---|---|
| 以热更新方式预览文档源码改动 | make docs_dev | 启动 Docusaurus 开发服务器 |
| 生成静态文档产物 | make docs_build | 将生产构建输出写入 docs/build/ |
| 构建并立即启动独立文档站点 | make docs_serve | 构建 docs/build-standalone/ 并启动静态服务 |
| 仅启动已存在的文档产物,不重新构建 | make docs_start_only | 直接启动现有输出目录 |
启动开发预览服务
当你在编辑文档源码并希望获得热更新预览时,使用:
_10make docs_dev
默认行为:
- 端口:
3030 - 路由形式:根路径
/ - 使用场景:文档撰写与预览
访问地址:
_10http://localhost:3030/
构建静态文档产物
当你需要生成可独立托管的静态文档产物时,使用:
_10make docs_build
该命令会:
- 在需要时安装 docs 依赖;
- 执行 Docusaurus 生产构建;
- 将产物写入
docs/build/。
当后续会由其他静态托管服务、镜像构建流程或发布流程接管这些文件时,应使用该命令。
构建并启动独立文档站点
当你希望先确保产物来自最新源码,再立即启动文档服务时,使用:
_10make docs_serve
该命令会:
- 将独立文档产物构建到
docs/build-standalone/; - 启动本地静态服务;
- 以独立站点根路径提供文档访问。
当文档内容刚发生变化、且你希望启动前先完成重新构建时,应使用该命令。
仅启动已有产物,不重新构建
当文档静态产物已经存在,而你只想快速把服务启动起来时,使用:
_10make docs_start_only
默认情况下,该命令直接启动现有的 docs/build-standalone/ 目录,不会在启动前重新执行构建。
适用场景:
- 文档已经在前一步完成构建;
- 你只想快速重启 docs 服务;
- 你要验证现有产物本身,而不是生成新的产物。
常用参数
文档命令支持以下常用变量:
| 变量 | 默认值 | 用途 |
|---|---|---|
docs_port | 3030 | 文档开发预览或静态服务启动端口 |
docs_serve_out_dir | build-standalone | make docs_serve 使用的输出目录 |
docs_start_dir | build-standalone | make docs_start_only 使用的现有产物目录 |
docs_base_url | / | make docs_dev 使用的基础路径 |
docs_build_base_url | / | make docs_build 使用的基础路径 |
docs_serve_base_url | / | make docs_serve 使用的基础路径 |
示例:
_10make docs_dev docs_port=3040_10make docs_build docs_build_base_url=/_10make docs_serve docs_port=3040 docs_serve_out_dir=build-standalone_10make docs_start_only docs_port=3040 docs_start_dir=build-standalone
推荐使用方式
编辑文档正文
使用:
_10make docs_dev
这是文档编写与实时预览的首选方式。
校验最新源码生成的独立站点
使用:
_10make docs_serve
该方式会先重新构建,再启动静态服务。
快速重启 docs 服务且保持产物不变
使用:
_10make docs_start_only
该方式不会触碰已有静态产物,只负责启动服务。
校验清单
在将文档服务视为可用前,至少确认以下内容:
- 文档站点通过独立根路径访问,而不是
/doc/; - 所选端口可正常访问;
- 使用
make docs_start_only前,目标产物目录已经存在; - 在重新构建后,中英文页面与链接均可正常访问。