维护文档与部署站点
这里维护的是 Docusaurus 文档站;游戏构建流程见微信构建。
本地运行
需要 Node.js 20.18.1 或以上,本轮实际使用 22.12.0。Docusaurus 官方要求 Node 20 以上;本站锁定的搜索依赖将最低小版本提高到 20.18.1。首次安装或重新获取仓库后使用锁文件恢复依赖:
npm ci
npm start
开发服务默认只监听本机,终端显示访问地址,默认端口为 3000。中文搜索依赖生产构建生成索引;验证搜索应使用下面的构建与预览。
npm run typecheck
npm test
npm run build
npm run serve
build/ 是静态产物,.docusaurus/ 与 .tmp/ 是可重新生成的数据。不要手动编辑这些目录。构建会从 examples/memory/ 复制下载源码到静态目录,避免下载文件和实际模型分叉。
修改与新增章节
内容放在 docs/,顺序由 sidebars.ts 控制;首页在 src/pages/index.tsx,样式在 src/css/custom.css。大多数章节用 Markdown,需要交互实验时再用 MDX。
新增一章至少说明它解决什么问题、适用条件、操作或例子、常见错误和完成标准。后端对照只在帮助理解时使用。内部链接优先指向源文档相对路径,让 Docusaurus 检查路由。
规则与存档示例以 examples/memory/ 为唯一源码。修改规则时同步检查文档描述、浏览器实验和行为测试。Creator 代码块不能因为文档构建成功就改标为“引擎已验证”。
设置正式地址
本站正式地址为 mini-game-dev.baiguiren.com,默认值已写入配置。部署其他环境时,可覆盖 SITE_URL;子目录部署还需设置 BASE_URL:
SITE_URL=https://your-domain.example BASE_URL=/ npm run build
# 若部署在子目录:
SITE_URL=https://your-domain.example BASE_URL=/mini-game/ npm run build
BASE_URL 必须以 / 开始和结束。环境变量用于构建阶段;只在静态服务器启动时设置不能改写已生成链接。地址改变后重新构建,再检查首页、深层页面、搜索与源码下载。
部署静态产物
将整个 build/ 上传到支持静态目录的网站托管。使用目录索引服务 index.html,保留所有资源、搜索索引和 examples/ 下载文件。可使用 Nginx、对象存储静态托管或常见静态部署平台,具体配置按所选服务的当前说明处理。
使用 Nginx 时,根目录指向实际产物;不要把丢失的 JS、CSS 或源码文件全部回退成首页 HTML。项目使用目录形式的文档路径,服务器需要正确处理尾斜杠和目录索引。
部署后检查:从首页进入深层文档、直接刷新深层地址、搜索中文词、打开规则实验、下载源码。发布到子目录时在相同路径前缀下重复这些动作。
当前服务器与 GitLab 流程
源代码保存在 GitLab 私有仓库。推送到受保护的默认分支 main 会执行安装、类型检查、规则测试和生产构建,再使用构建产物自动部署;结果见流水线。
服务器使用 /home/www/mini-game-dev/releases/<commit SHA> 存放静态版本,Nginx 指向 current 符号链接。部署脚本在 ci/deploy.sh,使用受保护的 SSH File 变量与仓库里的固定主机公钥。切换后通过服务器本机与公网 HTTPS 检查 deployment.txt 的提交 SHA。
Nginx 模板在 ops/nginx/mini-game-dev.conf,HTTP 跳转 HTTPS,证书由服务器 Certbot 管理。回滚使用 README 的原子链接切换方法;重新发布时仍按新流水线追踪来源,不手改历史版本文件。
保持知识可追溯
更新涉及平台事实时,阅读官方原文,记录核查日期与适用条件;示例数值与实测指标分开。兄弟站新增通用设计资料时,优先更新引用关系,再决定本站是否需要补充工程内容。