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

34 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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 路径约定、构建产物和运行参数。