Files
TinyWaste/docs/10-本地运行与发布.md
virtheart 2e1b58bada docs: 添加项目文档和图表文件
添加游戏设计文档、技术架构文档、数值经济文档等内容
新增Mermaid图表文件描述系统架构和流程
包含README说明文档结构和阅读顺序
2026-04-28 19:19:20 +08:00

2.5 KiB
Raw Permalink Blame History

10 本地运行与发布

本文档定义新项目的本地开发、构建、发布与环境管理规范。目标:让任何新同学在最短步骤内跑起来、可调试、可测试、可发布。

10.1 环境与工具链(建议)

  • Node.jsLTS
  • 包管理:pnpm(或 npm/yarn 任选其一,但全项目统一)
  • 语言:TypeScript
  • 代码规范:ESLint + Prettier(统一格式)
  • 测试:Vitest/Jest(单元),Playwright(端到端,可选)

10.2 运行模式

10.2.1 开发模式

  • 本地开发服务器
  • 支持热更新(UI 与内容配置)
  • 支持注入调试指令:
    • 跳时间
    • 生成物品
    • 强制触发事件
    • 固定随机种子

10.2.2 生产模式

  • 静态资源构建输出(CDN 可部署)
  • API 指向正式后端
  • Debug 功能默认关闭(需权限或环境开关)

10.3 配置管理

推荐三层配置:

  • default:默认配置(安全值)
  • env:按环境覆盖(dev/staging/prod
  • runtime:运行时下发(如内容包更新列表)

必须遵循:

  • 配置不写死在代码里,使用环境变量/配置文件
  • 任何密钥不得进入仓库

10.4 内容包发布流程(建议)

内容包与代码版本解耦:

  1. 内容策划提交内容包(JSON + 校验通过)
  2. CI 跑 Schema 校验、引用检查、权重表检查
  3. 内容包发布到 CDN/对象存储
  4. 后端返回最新内容包清单与版本号
  5. 客户端启动时拉取并缓存(可按需更新)

10.5 发布策略

10.5.1 版本号约定

  • 客户端版本:SemVer
  • 内容包版本:SemVer
  • 存档版本:整数递增 saveVersion

10.5.2 回滚策略

  • 客户端回滚:CDN 指向上一个构建
  • 内容包回滚:清单回滚到上一版本
  • 存档兼容:
    • 向前兼容:旧存档可迁移到新版本
    • 向后兼容:新存档回滚到旧版本通常不可行,需提示

10.6 监控与日志(建议)

  • 客户端错误上报:
    • JS 异常
    • 资源加载失败
    • 存档校验失败
  • 关键事件埋点:
    • 新手完成率
    • 出行次数/死亡原因
    • 关键科技解锁天数
    • 任务链完成率

10.7 旧版仓库运行注意(仅用于参考)

当前仓库是静态网页 + AJAX 动态加载脚本,且在 loader.js 有域名跳转逻辑,本地直接打开可能会跳转到线上域名。旧版本地跑需要静态服务器并绕过域名限制。

新项目不会延续这种加载方式,会采用现代构建输出与模块化加载。