Service 快速开始
Service 是 Bun + Elysia 业务后端,核心能力由 npm 包 vome-core 提供;业务代码在 service/src/modules/。
环境
- Bun 最新稳定版
- PostgreSQL、Redis(配置见
src/config/dev.ts)
安装与启动
bash
cd service
bun install
bun run dev独立仓库 Clone / ZIP 见 源码下载。
| 项 | 说明 |
|---|---|
NODE_ENV | dev(脚本已设) |
| HTTP 端口 | src/config/default.ts → system.port,默认 3000;占用时 dev 可自动换端口 |
| OpenAPI | http://127.0.0.1:3000/docs |
| 热更新 | --watch src/index.ts,改 Controller / Service 后自动重载 |
dev 启动时自动完成
| 步骤 | 条件 | 说明 |
|---|---|---|
| Schema 索引 | 始终 | 扫描 modules/*/entity/*.ts |
| Drizzle push | db.push: true | 表结构同步到 PG |
| EPS 生成 | vome.eps: true | Admin 动态挂载 API |
| db.json 种子 | vome.initDB: true | 扫描各模块 modules/*/db.json,仅首次写入 |
| menu.json 种子 | vome.initMenu: true | 扫描各模块 modules/*/menu.json,仅首次写入(后台菜单进 base_menu) |
详见 配置说明。
常用命令
| 命令 | 说明 |
|---|---|
bun run dev / build | 内嵌生成 src/lib/host/scan.ts(无独立 gen 命令) |
bun run dev | 开发热更新(无 SEAT_ENFORCE) |
bun run build | 可读打包 → dist/index.js(含 SEAT_ENFORCE) |
bun run build:obfuscate | Service 侧 minify + JS 混淆(部署用) |
bun run binary:obfuscate | 混淆后编 Linux 二进制 → dist/service |
bun run docker:pack | 混淆二进制并打 Docker 镜像(见 部署) |
混淆是 service 宿主 的部署能力,与
vome-core依赖包无关。入口须import './lib/host'(registerHost)。
新建业务模块(最短路径)
- 确认 IDE 打开的是项目根,且已有
.vscode/(见 目录结构 · IDE) - IDE → Create Module → 输入
shop - Create Component → 模块
shop,组件goods - 在生成文件中分别输入 snippet:
entity→ 手写 Service →controller bun run dev,在/docs确认/admin/shop/goods/page- Admin 配菜单 +
vm-crud页面
详见 创建模块。
文档导航
| 目标 | 文档 |
|---|---|
| 目录约定 | 目录结构 |
| 配置项 | 配置说明 |
| 生产部署 | 部署与混淆 |
| 脚手架 | Entity · Service · Controller |
| 框架能力 | vome-core 索引 |
| 一次性下载码等 | OneTimeTicket |
注意
- 配置写在
src/config/*.ts,按环境合并,见 配置说明 - 类型放
service/typings/,禁止在src/modules内重复声明 interface - 升级
vome-core版本后执行bun install,并按 changelog 调整业务代码
