Skip to content

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_ENVdev(脚本已设)
HTTP 端口src/config/default.tssystem.port,默认 3000;占用时 dev 可自动换端口
OpenAPIhttp://127.0.0.1:3000/docs
热更新--watch src/index.ts,改 Controller / Service 后自动重载

dev 启动时自动完成

步骤条件说明
Schema 索引始终扫描 modules/*/entity/*.ts
Drizzle pushdb.push: true表结构同步到 PG
EPS 生成vome.eps: trueAdmin 动态挂载 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:obfuscateService 侧 minify + JS 混淆(部署用)
bun run binary:obfuscate混淆后编 Linux 二进制 → dist/service
bun run docker:pack混淆二进制并打 Docker 镜像(见 部署

混淆是 service 宿主 的部署能力,与 vome-core 依赖包无关。入口须 import './lib/host'registerHost)。

新建业务模块(最短路径)

  1. 确认 IDE 打开的是项目根,且已有 .vscode/(见 目录结构 · IDE
  2. IDE → Create Module → 输入 shop
  3. Create Component → 模块 shop,组件 goods
  4. 在生成文件中分别输入 snippet:entity → 手写 Service → controller
  5. bun run dev,在 /docs 确认 /admin/shop/goods/page
  6. Admin 配菜单 + vm-crud 页面

详见 创建模块

文档导航

目标文档
目录约定目录结构
配置项配置说明
生产部署部署与混淆
脚手架Entity · Service · Controller
框架能力vome-core 索引
一次性下载码等OneTimeTicket

注意

  • 配置写在 src/config/*.ts,按环境合并,见 配置说明
  • 类型放 service/typings/,禁止在 src/modules 内重复声明 interface
  • 升级 vome-core 版本后执行 bun install,并按 changelog 调整业务代码