环境与配置
隔离原则
- 每个子项目一份独立
.env,运行时配置(端口、NATS、数据库连接)由该子项目自持;敏感配置不进版本控制。 - 子项目环境变量互不干扰,根目录不集中接管。
- 共享配置只有 TypeScript 基座(
tsconfig.base.json)等构建期内容。
连接拓扑
| 子项目 | 必要连接 |
|---|---|
| 全部 services | NATS_URL、DATABASE_URL |
| 全部 workers | NATS_URL、所属服务 DATABASE_URL |
| passport_web | api_service 地址(服务端侧) |
| admin_web | api_service 地址 |
| openapi | NATS_URL(服务端调业务服务) |
决策参考
| 场景 | 做法 |
|---|---|
| 多环境(dev / staging / prod) | 每子项目按环境各备一份 .env,随发布渠道分发 |
| 配置项变更 | 先更新配置参考(站内搜索 ?配置参考),再改代码 |
| 跨服务共享的常量 | 进 libs/common,禁止在各服务复制字面量 |