From 643244abab27daefdf4f8e121b7ba984753f191c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B9=9B=E5=85=AE?= Date: Tue, 26 May 2026 11:34:09 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=AF=B9=E9=BD=90=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 9 --------- .gitignore | 1 - README.md | 36 +++++++++++++++--------------------- src/config/env.ts | 2 +- 4 files changed, 16 insertions(+), 32 deletions(-) delete mode 100644 .env.example diff --git a/.env.example b/.env.example deleted file mode 100644 index 76d0592..0000000 --- a/.env.example +++ /dev/null @@ -1,9 +0,0 @@ -NODE_ENV=development -PORT=3500 - -DB_HOST=127.0.0.1 -DB_PORT=3307 -DB_USER=access_user -DB_PASSWORD=access_pass -DB_NAME=access_manage -DB_CONNECTION_LIMIT=10 diff --git a/.gitignore b/.gitignore index 4996c7e..80f1ad3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,5 @@ node_modules dist .env .env.* -!.env.example .DS_Store *.log diff --git a/README.md b/README.md index 9783b9f..91c4980 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ├── .agents/ │ └── skills/ │ └── readme-structure-sync/ # README 和目录结构同步维护规则 -├── .env.example # 本地环境变量示例,复制为 .env.development 后使用 +├── .env.development # 本地开发环境变量文件,不提交到仓库 ├── .gitignore # Git 忽略规则,排除本地配置、依赖和编译产物 ├── AGENTS.md # Codex/Agent 入口指令,当前指向 RTK.md ├── RTK.md # 项目协作规则和开发约定 @@ -61,21 +61,21 @@ | 路径 | 作用 | | --- | --- | | `.agents/skills/readme-structure-sync/` | 项目内 skill。约定当目录、重要文件或 `package.json` 脚本变化时,同步更新 README。 | -| `.env.example` | 可提交到仓库的环境变量示例。新开发者复制成 `.env.development` 后再启动项目。 | +| `.env.development` | 当前项目本地开发使用的环境变量文件,`package.json` 脚本会显式读取它;该文件只保留在本机,不提交到仓库。 | | `.gitignore` | 忽略本地环境变量、依赖目录、编译产物和系统文件,避免把无关文件推到仓库。 | | `AGENTS.md` | Agent 工具读取的入口文件,当前通过 `@RTK.md` 引入项目规则。 | | `RTK.md` | 本项目的协作规则,例如使用中文说明、保持分层、改目录时同步 README。 | | `migrations/` | 数据库迁移目录。所有建表、改表、初始化基础数据的 SQL 都放在这里。 | | `src/app.ts` | 创建 Fastify 应用,注册路由,处理健康检查和全局错误。 | | `src/server.ts` | 真正启动 HTTP 服务,监听端口,并处理优雅停机。 | -| `src/config/env.ts` | 使用 zod 校验环境变量,避免配置错误拖到请求阶段才暴露。 | +| `src/config/env.ts` | 使用 zod 校验 `.env.development` 中的环境变量,避免配置错误拖到请求阶段才暴露。 | | `src/db/migrate.ts` | 执行 `migrations/*.sql`,并用 `schema_migrations` 记录已执行迁移。 | | `src/db/pool.ts` | 创建 MySQL 连接池,提供数据库健康检查和关闭连接的方法。 | | `src/modules/catalog/` | 门店和角色模块,负责基础资料接口。 | | `src/modules/employees/` | 员工模块,负责员工分页、详情、新增、修改、状态变更和软删除。 | | `src/shared/` | 跨模块复用的响应结构和业务错误类型。 | | `docker-compose.yml` | 本地开发用 MySQL 容器配置。 | -| `package.json` | 项目信息、依赖和常用脚本。 | +| `package.json` | 项目信息、依赖和常用脚本;脚本会读取现有 `.env.development`。 | | `pnpm-lock.yaml` | pnpm 锁文件,保证依赖版本一致。 | | `tsconfig.json` | TypeScript 编译配置。 | @@ -105,13 +105,7 @@ pnpm install ``` -复制环境变量示例: - -```bash -cp .env.example .env.development -``` - -本地配置示例见 [.env.example](./.env.example): +本地开发直接使用现有的 `.env.development`,当前配置如下: ```env NODE_ENV=development @@ -184,16 +178,16 @@ curl http://localhost:3500/health 这些脚本定义在 [package.json](./package.json) 的 `scripts` 字段里。 -| 命令 | 作用 | 什么时候用 | -| --- | --- | --- | -| `pnpm dev` | 使用 `.env.development` 启动开发服务,并通过 `tsx watch` 监听代码变化。 | 日常开发接口时使用。 | -| `pnpm build` | 使用 `tsc` 编译 TypeScript,输出到 `dist/`。 | 准备运行编译产物或发布前验证时使用。 | -| `pnpm start` | 使用 `.env.development` 运行 `dist/server.js`。 | 已经执行过 `pnpm build` 后,用编译产物启动服务。 | -| `pnpm typecheck` | 执行 `tsc --noEmit`,只检查类型,不生成文件。 | 改 TypeScript 代码后快速确认类型是否正确。 | -| `pnpm db:migrate` | 运行 `src/db/migrate.ts`,按顺序执行 `migrations/*.sql`。 | 第一次启动项目、拉到新迁移、改数据库结构后使用。 | -| `pnpm db:shell` | 进入 Docker 容器里的 MySQL 命令行。 | 需要手动查看表结构或查询数据时使用。 | -| `pnpm mysql:up` | 启动本地 MySQL 容器。 | 开发前先启动数据库。 | -| `pnpm mysql:down` | 停止并移除本地 MySQL 容器。 | 不再需要本地数据库容器时使用。 | +| 命令 | 作用 | 什么时候用 | +| ------------------- | --------------------------------------------------------------------------- | -------------------------------------------------- | +| `pnpm dev` | 使用现有 `.env.development` 启动开发服务,并通过 `tsx watch` 监听代码变化。 | 日常开发接口时使用。 | +| `pnpm build` | 使用 `tsc` 编译 TypeScript,输出到 `dist/`。 | 准备运行编译产物或发布前验证时使用。 | +| `pnpm start` | 使用现有 `.env.development` 运行 `dist/server.js`。 | 已经执行过 `pnpm build` 后,用编译产物启动服务。 | +| `pnpm typecheck` | 执行 `tsc --noEmit`,只检查类型,不生成文件。 | 改 TypeScript 代码后快速确认类型是否正确。 | +| `pnpm db:migrate` | 使用现有 `.env.development` 运行 `src/db/migrate.ts`,按顺序执行 `migrations/*.sql`。 | 第一次启动项目、拉到新迁移、改数据库结构后使用。 | +| `pnpm db:shell` | 进入 Docker 容器里的 MySQL 命令行。 | 需要手动查看表结构或查询数据时使用。 | +| `pnpm mysql:up` | 启动本地 MySQL 容器。 | 开发前先启动数据库。 | +| `pnpm mysql:down` | 停止并移除本地 MySQL 容器。 | 不再需要本地数据库容器时使用。 | 重要顺序通常是: diff --git a/src/config/env.ts b/src/config/env.ts index 260db11..c31e42d 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -19,7 +19,7 @@ const result = envSchema.safeParse(process.env); if (!result.success) { // 这里直接退出进程,因为配置错误属于“服务无法安全启动”的问题。 - console.error("环境变量配置错误,请对照 .env.example 检查:"); + console.error("环境变量配置错误,请对照 .env.development 检查:"); console.error(z.treeifyError(result.error)); process.exit(1); }