34 lines
2.2 KiB
Markdown
34 lines
2.2 KiB
Markdown
## 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 路径约定、构建产物和运行参数。
|