安装指南
环境要求
- Node.js >= 20.9.0
- MySQL / MariaDB
- Redis(匹配、聊天等队列能力需要;仅调 HTTP 可暂不配,跑
MatchmakingDemo请启用)
安装依赖
bash
npm install配置环境变量
在项目根目录创建 .env.development(本地开发)或 .env.production(生产),服务端会按 NODE_ENV 等规则加载;加载顺序与优先级见 配置说明 开头几节。
下面是一份最小可跑示例;各键含义如下表(表中 your_* 仅为占位,请换成你本机 MySQL 与自生成的密钥)。
| 变量 | 是什么 |
|---|---|
NODE_ENV | Node 运行环境。写成 development 时,会优先读 .env.development,并启用开发期常见行为(与 src/config 中判断一致)。 |
PORT | HTTP API + Colyseus WebSocket 共用的监听端口;默认常用 2567,即浏览器访问 http://localhost:2567、Swagger /api-docs 等。 |
DB_HOST | MySQL / MariaDB 主机地址,本机一般为 localhost。 |
DB_PORT | 数据库端口,MySQL 默认 3306。 |
DB_USERNAME / DB_PASSWORD | 数据库登录账号与密码;密码勿提交到 Git。 |
DB_DATABASE | 要连接的数据库名(需先在 MySQL 里建好空库或已有库)。完整表名、实体与迁移见 项目结构。 |
JWT_SECRET | 签发 JWT 访问令牌用的对称密钥(与 HTTP 登录、@RequireAuth() 进房里校验的 token 同源)。生产环境必须改为足够长的随机串,切勿使用示例里的占位值。 |
JWT_EXPIRES_IN | 访问令牌有效期的字符串写法(如 1h、24h),交给 jsonwebtoken 等库的 expiresIn;刷新令牌、JWT_REFRESH_* 等见 配置说明 中的 「Redis 与 JWT」 一节。 |
更多项(DB_TYPE、DB_SYNCHRONIZE、Redis、聊天/匹配相关变量等)见 配置说明。
env
NODE_ENV=development
PORT=2567
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=your_password
DB_DATABASE=your_database
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=1h启动开发环境
bash
npm run dev验证运行
- Swagger:
http://localhost:2567/api-docs - 首页静态资源:
http://localhost:2567/
服务可用后,再继续阅读 配置说明。