ENV 配置管理工具 — 可视化管理和切换多个项目的 .env 环境配置。
- 多项目管理 — 支持添加多个项目目录,集中管理所有项目的环境配置
- 一键切换环境 — 列出项目目录下的
.env.xxx文件,点击即可将对应配置覆盖到.env - 实时监控 — 使用 chokidar 监控
.env文件变化,通过 Socket.IO 实时推送更新到界面 - 拖拽排序 — 支持拖拽调整项目卡片顺序,排序结果自动持久化
- WSL 支持 — 兼容 Windows Subsystem for Linux 路径(如
\\wsl.localhost\Ubuntu\...) - Electron 桌面应用 — 可打包为 Windows 安装程序(NSIS),独立运行
| 层级 | 技术 |
|---|---|
| 桌面框架 | Electron |
| 后端 | Express + Socket.IO |
| 前端 | React + Vite |
| 拖拽 | @dnd-kit |
| 文件监控 | chokidar |
| 打包 | electron-builder (NSIS) |
EnvSwitch/
├── electron-main.js # Electron 主进程
├── server/
│ └── index.js # Express 服务端(API + 静态文件 + Socket.IO)
├── client/ # React 前端
│ ├── src/
│ │ ├── App.jsx # 主组件
│ │ ├── App.css # 样式
│ │ └── main.jsx # 入口
│ └── public/
│ ├── favicon.svg
│ ├── icon.png
│ └── icon.ico
├── gen-icons.js # 图标生成脚本
└── package.json
- Node.js >= 18
- npm >= 9
npm install
cd client && npm install同时启动 Express 服务端和 React 前端开发服务器:
npm run dev- 服务端:
http://localhost:3001 - 前端(Vite):
http://localhost:5173
构建前端后在 Electron 窗口中运行:
npm run electron-devnpm run electron-build打包产物输出到 release/ 目录,生成 NSIS 安装程序。
- 点击右上角 "+ 添加项目" 按钮
- 输入项目的根目录路径(需包含
.env文件),支持本地路径和 WSL 路径 - 点击确定
- 项目卡片会显示当前
.env中的APP_NAME和APP_ENV - 在"环境配置切换"区域,点击对应
.env.xxx文件旁的 "切换" 按钮 - 该配置文件的内容将被复制到
.env,界面实时更新
- 拖拽排序:按住拖拽手柄(⠿)拖动项目卡片调整顺序
- 删除项目:点击卡片右上角的"删除"按钮移除项目
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/projects |
获取所有项目列表 |
| GET | /api/projects/:id |
获取单个项目详情 |
| POST | /api/projects |
添加项目(body: { dir }) |
| PUT | /api/projects/reorder |
更新排序(body: { ids }) |
| DELETE | /api/projects/:id |
删除项目 |
| POST | /api/projects/:id/switch |
切换环境(body: { envFileName }) |
| GET | /api/projects/:id/env-file/:fileName |
获取指定 env 文件内容 |
项目数据存储在 server/data.json(开发模式)或 Electron 用户数据目录(打包模式)。Electron 模式下路径为 app.getPath('userData')/data/data.json。