Files
bun-app-template/README.md

9.6 KiB
Raw Blame History

my-app

(替换为你的项目介绍)

Bun 全栈应用模板,基于 Bun + React + TDesign 的前后端一体化开发框架。

快速开始

git clone <your-repo-url> my-project
cd my-project
bun install
bun run dev

访问 http://127.0.0.1:5173 查看应用。

使用此模板

1. 克隆模板

git clone <template-repo-url> my-project
cd my-project
rm -rf .git && git init

2. 配置应用信息

编辑 src/shared/app.ts,修改应用元信息:

export const APP = {
  name: "your-app", // 机器标识kebab-case
  title: "Your App", // 人类可读标题
  subtitle: "你的副标题", // 副标题
  description: "应用描述", // SEO meta 描述
} as const;

同时修改 package.jsonname 字段保持一致,version 字段管理应用版本号。

注意localStorage key 已从 "my-app.theme.preference" 变更为 "theme.preference"。如果从旧版本升级,用户的主题偏好设置将丢失,需重新选择。

3. 清理 OpenSpec 历史

删除模板自带的 OpenSpec 变更历史,保留框架配置:

rm -rf openspec/specs/*
rm -rf openspec/changes/*

openspec/config.yamlopenspec/schemas/fast-drive/ 需要保留,其中包含项目开发规范配置与自定义 OpenSpec workflow schema。

4. 安装依赖

bun install

5. 开始开发

bun run dev

项目管理

命令 说明
bun run dev 启动开发模式(并行启动后端 + 前端 Vite 开发服务器)
bun run dev:server 仅启动后端开发服务(--watch 热重载)
bun run dev:web 仅启动前端 Vite 开发服务器
bun run build 生产构建Vite 打包前端 → Bun compile 生成独立可执行文件)
bun test 运行全部测试
bun run lint ESLint 代码风格检查
bun run format Prettier 代码格式化
bun run typecheck TypeScript 类型检查
bun run check 完整质量检查typecheck + lint + test
bun run verify 验证构建流程check + build
bun run clean 清理构建产物和临时文件
bun run version:patch 升迁 patch 版本x.y.Z
bun run version:minor 升迁 minor 版本x.Y.0
bun run version:major 升迁 major 版本X.0.0
bun run version:set 显式设置版本号

项目结构

.
├── config.example.yaml         # 配置文件示例
├── bunfig.toml                 # Bun 配置(测试预加载等)
├── tsconfig.json               # TypeScript 配置
├── vite.config.ts              # Vite 构建配置(代码分包、代理)
├── eslint.config.js            # ESLint 统一配置
├── .prettierrc.json            # Prettier 格式化配置
├── commitlint.config.js        # Commitlint 提交规范配置
├── .lintstagedrc.json          # lint-staged 暂存区检查配置
├── scripts/
│   ├── dev.ts                  # 开发启动脚本(并行启动 API + Vite
│   ├── build.ts                # 生产构建脚本Vite → 代码生成 → Bun compile含版本号注入
│   ├── bump-version-logic.ts   # 纯版本管理逻辑parse、validate、bump、format
│   ├── bump-version.ts         # 版本升迁 CLI 脚本
│   └── clean.ts                # 清理脚本
├── src/
│   ├── server/                 # 后端代码
│   │   ├── bootstrap.ts        # 统一启动引导(配置加载 → 服务启动 → 优雅关闭)
│   │   ├── config.ts           # CLI 参数解析 + YAML 配置加载
│   │   ├── dev.ts              # 开发模式入口
│   │   ├── main.ts             # 生产模式入口
│   │   ├── server.ts           # HTTP 服务器Bun.serve routes 声明式路由)
│   │   ├── helpers.ts          # 共享响应工具健康检查、JSON 响应)
│   │   ├── middleware.ts        # API 参数校验中间件
│   │   ├── static.ts           # 静态资源服务
│   │       └── routes/             # API 路由处理器
│   │           └── meta.ts        # 应用元信息端点GET /api/meta
│   │           version.ts          # 版本号读取
│   ├── shared/
│   │   ├── api.ts              # 前后端共享 TypeScript 类型定义
│   │   └── app.ts              # 应用全局常量name、title、subtitle、description
│   └── web/                    # 前端代码
│       ├── index.html          # HTML 入口
│       ├── main.tsx            # React 入口BrowserRouter + QueryClient + ErrorBoundary
│       ├── app.tsx             # 根组件Admin 布局Header + Sidebar + Content + 版本号展示)
│       ├── routes.tsx          # 路由配置
│       ├── styles.css          # 全局样式
│       ├── css.d.ts            # CSS 模块类型声明
│       ├── pages/              # 页面组件
│       │   ├── dashboard/      # 仪表盘页
│       │   ├── users/          # 用户管理页
│       │   ├── settings/       # 系统设置页
│       │   └── 404/            # 404 页面
│       ├── components/         # UI 组件
│       │   ├── ErrorBoundary.tsx
│       │   └── Sidebar/        # 侧边栏组件
│       ├── hooks/              # React Hooks
│       ├── utils/              # 前端工具函数
│       ├── menu.tsx            # 菜单配置
│       └── routes.tsx          # 路由配置
├── tests/                      # 测试文件(镜像 src 目录结构)
├── openspec/                   # OpenSpec 规格、变更与 fast-drive workflow schema
└── docs/                       # 项目文档

配置

项目使用 YAML 配置文件,支持环境变量覆盖。

配置文件

复制 config.example.yamlconfig.yaml(或任意名称),根据需要修改:

server:
  host: "127.0.0.1"
  port: 3000

环境变量覆盖

环境变量 对应配置字段 默认值
HOST server.host 127.0.0.1
PORT server.port 3000

配置优先级

环境变量 > YAML 配置文件 > 代码默认值

使用自定义配置

bun run dev custom-config.yaml

技术栈

运行时

技术 说明
Bun JavaScript/TypeScript 运行时、包管理器、打包器
TypeScript 类型安全的 JavaScript 超集

后端

技术 说明
Bun.serve HTTP 服务器,声明式路由匹配
Bun.YAML YAML 配置文件解析
es-toolkit 高性能工具库(推荐优先使用)

前端

技术 说明
React 19 UI 组件框架
React Router SPA 路由与页面导航
TDesign React 企业级 UI 组件库
@tanstack/react-query 服务端状态管理与数据获取
Recharts 图表可视化(推荐使用)
Vite 前端构建工具

工程化

技术 说明
ESLint 代码规范检查
Prettier 代码格式化
Husky Git hooks 管理
Commitlint Git 提交消息校验

测试

技术 说明
bun:test Bun 内置测试框架
@testing-library/react React 组件测试
jsdom DOM 环境模拟

开源协议

MIT