# Draft: baota-pc-web-nuxt

**Author:** planner  
**Created:** 2026-08-13

## 原始需求

宝塔安装包前端目前只有后台和移动端；需把 PC 端也放进来，前缀 `/web`，通过脚本启动 Nuxt；评估后修改打包以及初始化脚本。nginx 反代示例已由用户给出。

## 访谈摘要

| 决策 | 选择 |
|------|------|
| Nuxt 路径 | A：`app.baseURL=/web/` 构建 |
| 保活 | A：Supervisor |
| 范围 | A：仅宝塔包（不改 docker-lite） |
| 包内目录 | `web/`（非 web-ssr） |
| 总体方案 | 方案 1：pack 注入 + Supervisor + nginx 反代 |

## 研究发现

- 宝塔：`deploy/baota/pack.sh` 只打 admin/mobile → `public/`
- docker-lite（他处）已有 Node 20 + pnpm + Nuxt `.output` + supervisord 模式，PC 在 :8082 `/`
- PC 仓库：`../ECShopX_web-frontend`；`nuxt.config.ts` 无 `app.baseURL`；已有 `NUXT_INTERNAL_API_BASE` / `NUXT_PUBLIC_API_BASE`

## Advisor 审查（摘要）

- 类型：Build；sibling `nuxt.config` 须标为 IN scope 前置
- 须补 `NUXT_INTERNAL_API_BASE`（建议 `http://127.0.0.1/api/h5app`）
- 测试：shell 契约 + 夹具 `.output`，勿全量 pnpm build 作为 CI 硬前置
- nginx `/web/` 须在 `location /` 之前；`proxy_pass` 无尾 `/`

## 默认假设（未再追问用户）

1. Sibling `nuxt.config.ts` **IN scope**（spec 已要求）
2. Supervisor 增加 `NUXT_INTERNAL_API_BASE=http://127.0.0.1/api/h5app`
3. PC 与 admin/mobile 同受 `PACK_FRONTEND` / `PACK_FRONTEND_BUILD` 控制
4. 端口 3000 冲突：README 说明；启动失败见 supervisor 日志（不自动换端口）
5. 安装机 Node：README 写明需 Node ≥20；install hard fail

## Spec

`docs/superpowers/specs/2026-08-13-baota-pc-web-nuxt-design.md`
