1
0
Files
DiAL/openspec/changes/archive/2026-05-09-add-vite-react-bun-executable/proposal.md

2.2 KiB
Raw Blame History

Why

当前项目只有 Bun + TypeScript 的最小入口,尚不能支撑完整的前后端服务开发。引入 Vite + React 开发体验,并保持 Bun 后端可打包为单个可执行程序,可以同时满足本地快速迭代、前后端同源集成和简单部署的目标。

What Changes

  • 新增基于 Vite + React + TypeScript 的前端应用开发能力,开发期保留 Vite HMR。
  • 新增 Bun 后端服务作为 API 与生产静态资源承载层API 统一位于 /api/*
  • 新增开发期前端代理后端 API 的同源调用约定,避免前端写死后端地址。
  • 新增生产期构建链路:先构建前端静态资源,再将后端与前端产物打包为单个 Bun standalone executable。
  • 新增可验收 demo前端页面调用后端 API 并展示响应,开发期和 executable 运行期都能验证前后端联通。
  • 新增 SPA fallback 行为:生产环境非 API 前端路由返回前端入口页面。
  • 更新 README记录项目结构、开发命令、测试命令、构建命令与部署方式。

Capabilities

New Capabilities

  • frontend-development-workflow: 约定 Vite + React 前端开发、API proxy、共享类型和本地开发命令。
  • fullstack-app-runtime: 约定 Bun 服务在运行期同时提供 API、健康检查、静态资源和 SPA fallback。
  • single-executable-packaging: 约定生产构建将 Vite 前端产物和 Bun 后端服务打包为单个可执行程序。

Modified Capabilities

无。当前 openspec/specs/ 为空,没有既有 capability 需要修改。

Impact

  • 代码结构将从单入口 index.ts 扩展为前端、后端、共享类型和构建脚本的模块化结构。
  • 依赖将新增 Vite、React、React DOM 及相关 TypeScript 类型;测试依赖按实现方案最小化引入。
  • 开发脚本将覆盖前端 dev server、后端 dev server、并行开发、测试和生产构建。
  • 生产产物将从直接运行 TypeScript 入口变为 dist/ 下的平台相关 executable。
  • demo 验收将覆盖开发期联调和生产 executable 运行后的前端页面、API 与健康检查。
  • README 需要同步说明模块结构、API 路径约定、构建产物和运行参数。