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

88 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](file:///Users/virtheart/Documents/CloneProjects/TinyWaste/data/loader.js#L15-L23) 有域名跳转逻辑,本地直接打开可能会跳转到线上域名。旧版本地跑需要静态服务器并绕过域名限制。
新项目不会延续这种加载方式,会采用现代构建输出与模块化加载。