chore(FEAT-MO-002): 调整 Web 开发端口为 8888
This commit is contained in:
@@ -29,7 +29,7 @@ pnpm --filter @a-share-analysis/server dev:worker
|
||||
pnpm --filter @a-share-analysis/web dev
|
||||
```
|
||||
|
||||
API 健康端点是 `http://127.0.0.1:3000/api/v1/health`,Web 是 `http://127.0.0.1:5173/`。Scheduler 与 Worker 在 GOV-009 中保持 `ROCKETMQ_ENABLED=false`;没有经过验证的 Node RocketMQ 客户端时,启用配置会直接失败,不使用内存队列伪降级。
|
||||
API 健康端点是 `http://127.0.0.1:3000/api/v1/health`,Web 是 `http://127.0.0.1:8888/`。Scheduler 与 Worker 在 GOV-009 中保持 `ROCKETMQ_ENABLED=false`;没有经过验证的 Node RocketMQ 客户端时,启用配置会直接失败,不使用内存队列伪降级。
|
||||
|
||||
## 日常验证与停止
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# 设计
|
||||
|
||||
## 方案
|
||||
|
||||
在 `web/vite.config.ts` 的 `server.port` 设置 8888;同步 `web/playwright.config.ts` 的 `baseURL` 与 `webServer.url`,并更新 `docs/deployment/local-development.md`。保持 `host: 127.0.0.1`、`strictPort: true` 和 `/api` 代理不变。
|
||||
|
||||
## 安全策略与评估
|
||||
|
||||
- 监听地址仍为回环地址,不增加局域网或公网暴露。
|
||||
- 不停止 8080 的外部项目进程。
|
||||
- 不读取或写入凭据,不改变 API、TDX 或外部基础设施配置。
|
||||
|
||||
## 性能目标与评估
|
||||
|
||||
- 端口调整不改变前端构建产物和运行时逻辑。
|
||||
- Vite 启动验证目标为 30 秒内可访问;本次实际启动耗时小于 1 秒。
|
||||
- E2E 启动入口与真实监听地址保持一致,避免重复启动或等待错误端口。
|
||||
|
||||
## 错误处理与回退
|
||||
|
||||
`strictPort: true` 保持不变;8888 被占用时启动明确失败,不自动抢占或切换端口。回退时将四处当前配置恢复为 5173,并同步恢复文档。
|
||||
@@ -0,0 +1,44 @@
|
||||
# Web 开发端口调整开发总结
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- 总结版本:0.1
|
||||
- 日期:2026-08-19
|
||||
|
||||
## 原始开发需求
|
||||
|
||||
将前端端口改为 8080,检查占用并启动;经检查 8080 被其他项目占用后,用户确认改用 8888。
|
||||
|
||||
## 需求与范围变化
|
||||
|
||||
初始目标从 8080 调整为 8888,原因是 8080 已被另一个本地项目占用;该进程不属于本项目,本次没有停止或修改它。
|
||||
|
||||
## 实际完成需求
|
||||
|
||||
- `web/vite.config.ts` 开发端口改为 8888。
|
||||
- `web/playwright.config.ts` 两处 Web 地址改为 8888。
|
||||
- 本地开发手册 Web 地址改为 8888。
|
||||
- 新增端口回归测试。
|
||||
- Web 已在 `http://127.0.0.1:8888/` 启动并返回 200。
|
||||
- Tailscale 外部隧道已启动,SSH 控制隧道监听 `127.0.0.1:17710`,TDX 只读行情请求成功。
|
||||
- 为保证外部隧道切换后的 API 可重复启动,在被 Git 忽略的 `deploy/env/development/api.env.local` 补充了 `TDX_BASE_URL` 和 `TDX_TIMEOUT_MS`,未写入仓库。
|
||||
|
||||
## 修复缺陷
|
||||
|
||||
本次没有修复既有业务缺陷;变化属于本地开发配置和对应验证入口的一致性调整。新增回归断言防止端口意外恢复为 5173。
|
||||
|
||||
## 未完成与延期项
|
||||
|
||||
生产部署不在本次范围。完整 E2E 在收尾复验时发现市场概览夹具时钟未隔离,已由 `FEAT-QA-001` 修复;API 健康检查因开发 MySQL 不可用返回 503,但 Redis 正常,市场概览接口和 TDX 只读链路返回 200,MySQL 状态不属于本次端口变更。
|
||||
|
||||
## 关键提交
|
||||
|
||||
尚未提交;当前按用户要求完成本地修改和启动验证,提交与推送需在 Review 及用户确认后执行。
|
||||
|
||||
## 验证证据
|
||||
|
||||
- Schema:`npm run schema:baseline` 和 `npm run schema:verify` 均通过,版本 `v0.0.10 (captured_empty)`。
|
||||
- GitNexus:开发前索引状态最新;开发后检测为 LOW、受影响执行流 0。
|
||||
- 测试:Web Vitest 8 个文件、21 个测试通过;修改前新增端口测试按预期失败。
|
||||
- 启动:Vite 监听 8888,首页 HTTP 200;API 使用本地配置启动并监听 3000。
|
||||
- TDX:Tailscale ping 经 DERP 成功,SSH 隧道监听 17710,`get_market_data` 返回 `ErrorId=0`。
|
||||
- 安全:保持 127.0.0.1,不停止其他项目,不读取凭据。
|
||||
@@ -0,0 +1,13 @@
|
||||
# GitNexus 开发后基线
|
||||
|
||||
## GitNexus 状态
|
||||
|
||||
完成 Web 配置、测试和文档修改后刷新索引:3,122 nodes、4,343 edges、68 clusters、85 flows,状态 `up-to-date`。本功能影响评估为 LOW,受影响执行流为 0。
|
||||
|
||||
## Git 已跟踪变更摘要
|
||||
|
||||
Vite 开发端口、Playwright Web 地址和本地开发手册由 5173 统一调整为 8888;AGENTS.md 的既有修改保留,不属于本功能。
|
||||
|
||||
## Git 工作区摘要
|
||||
|
||||
工作区包含本功能档案和端口相关修改;无关未跟踪文件明确排除。提交与推送将在最终独立 Review 通过后执行。
|
||||
@@ -0,0 +1,26 @@
|
||||
# GitNexus 开发前基线
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- 记录时间:2026年8月19日 GMT+8 12:23:44
|
||||
- 分支:main
|
||||
- 基线提交:1f6ed00e6fbb
|
||||
|
||||
## 工作区
|
||||
|
||||
```text
|
||||
M AGENTS.md
|
||||
```
|
||||
|
||||
## GitNexus 状态
|
||||
|
||||
```text
|
||||
Repository: <project-root>
|
||||
Indexed: 8/18/2026, 9:31:53 PM
|
||||
Indexed commit: 1f6ed00
|
||||
Current commit: 1f6ed00
|
||||
Status: ✅ up-to-date
|
||||
```
|
||||
|
||||
## 后续人工分析
|
||||
|
||||
在修改代码前,将 GitNexus query、context、impact 的结论写入 `gitnexus/impact-plan.md`。高风险结果必须先获得用户确认。
|
||||
@@ -0,0 +1,13 @@
|
||||
# GitNexus 前后对比
|
||||
|
||||
## 开发前
|
||||
|
||||
Vite 监听 5173,Playwright 和本地手册使用 5173;GitNexus 索引为项目当前基线。
|
||||
|
||||
## 开发后
|
||||
|
||||
Vite、Playwright 和本地开发手册统一使用 8888;业务模块执行流、API 契约和数据基础设施不变。GitNexus 变更检测为 LOW,受影响执行流 0。
|
||||
|
||||
## 差异处置
|
||||
|
||||
8080 的外部 Python 进程未被停止;Tailscale 外部 TDX 隧道独立切换到 `tdx-windows-tailnet`,不改变平台固定的 127.0.0.1:17710 入口。
|
||||
@@ -0,0 +1,9 @@
|
||||
# GitNexus 变更检测
|
||||
|
||||
执行:`gitnexus_detect_changes({scope: "unstaged", repo: "a-share-analysis"})`。
|
||||
|
||||
结果:`changed_count=3`、`changed_files=5`、`affected_count=0`、`risk_level=low`、受影响执行流 0。GitNexus 识别到 AGENTS.md(既有工作区修改)和本地开发文档章节;Vite/Playwright 的端口常量变化未映射为业务符号,已通过配置测试、类型检查、构建和 HTTP 启动验证覆盖。
|
||||
|
||||
本功能预期变更仅为:Vite 端口、Vite 配置测试、Playwright 地址、本地开发文档和功能档案。AGENTS.md 是用户已有修改,本次不触碰其内容,也不将其视为功能变更。
|
||||
|
||||
同步判断:不涉及 API/OpenAPI、消息契约、数据库、Redis、Scheduler、Worker 或生产部署;Web 开发启动流程已同步。
|
||||
@@ -0,0 +1,35 @@
|
||||
# GitNexus 开发前影响计划
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- 目标:将 Vue/Vite 本地开发服务器端口从 5173 调整为 8888。
|
||||
- 总体风险:LOW
|
||||
|
||||
## 直接与间接影响
|
||||
|
||||
- `gitnexus_query("Vite development server port web startup")` 定位到 `web/vite.config.ts` 和 `web/src/vite-config.test.ts`。
|
||||
- `gitnexus_context({name: "vite.config.ts", file_path: "web/vite.config.ts"})` 显示该配置文件被 `web/src/vite-config.test.ts` 导入,配置内部调用 `readDevelopmentPublicEnv`。
|
||||
- `gitnexus_impact({target: "vite.config.ts", direction: "upstream"})`:直接调用方 0、受影响执行流 0、受影响模块 0,风险 LOW。
|
||||
- `gitnexus_impact({target: "playwright.config.ts", direction: "upstream"})`:直接调用方 0、受影响执行流 0、受影响模块 0,风险 LOW;该配置自身启动并访问 Web 开发服务器,需要同步更新端口。
|
||||
- 对 `readDevelopmentPublicEnv` 的 upstream 影响为 1 个配置文件调用方,风险 LOW;端口字段是 Vite 配置常量,不改变 API、数据契约或业务逻辑。
|
||||
- 8080 已被另一个本地项目占用;该进程不属于本项目,本次不停止、不修改,也不记录其本机目录或临时进程标识。
|
||||
|
||||
## 跨模块同步修改
|
||||
|
||||
| 维度 | 判断 | 同步修改 |
|
||||
|---|---|---|
|
||||
| HTTP/OpenAPI | 不涉及页面 API 契约 | 无 |
|
||||
| Web API | 不涉及 Axios 请求路径 | 无 |
|
||||
| 消息契约 | 不涉及 RocketMQ | 无 |
|
||||
| 数据库 | 不涉及 MySQL Schema | 无 |
|
||||
| Redis | 不涉及缓存 | 无 |
|
||||
| API | Nest API 端口保持 3000 | 无 |
|
||||
| Scheduler/Worker | 不涉及任务进程 | 无 |
|
||||
| 部署 | 仅开发 Vite 端口;生产 Web 配置不变 | 更新本功能说明 |
|
||||
| 测试 | Vite 配置回归测试增加 8888 断言;Playwright baseURL/webServer URL 同步 | 修改 `web/src/vite-config.test.ts`、`web/playwright.config.ts` |
|
||||
| 文档 | 本地开发 Web 地址同步为 8888 | 修改 `docs/deployment/local-development.md` 和本功能档案 |
|
||||
|
||||
## 安全、性能与残余风险
|
||||
|
||||
- 安全:不改变监听地址(仍为 `127.0.0.1`),不暴露新公网入口,不接触凭据。
|
||||
- 性能:仅改变本地开发服务器监听端口,不改变构建产物、代理或运行时性能。
|
||||
- 残余风险:如果其他本地进程占用 8888,因 `strictPort: true` 启动会失败;启动前必须检测并报告。
|
||||
@@ -0,0 +1,9 @@
|
||||
# 实施计划
|
||||
|
||||
1. 检查 8080/8888 占用情况和工作区状态。
|
||||
2. 执行 Schema 基线与校验,运行治理起始门禁。
|
||||
3. 使用 GitNexus 评估 Vite、Playwright 配置和测试影响。
|
||||
4. 先添加 8888 回归断言并确认旧配置下失败,再修改 Vite 配置。
|
||||
5. 同步 Playwright 和本地开发文档。
|
||||
6. 启动 Web,验证 8888 HTTP 200;切换 Tailscale 外部 TDX 隧道并验证只读行情。
|
||||
7. 执行测试、构建、GitNexus 变更检测和 Review。
|
||||
@@ -0,0 +1,12 @@
|
||||
id: FEAT-MO-002
|
||||
name: Web 开发端口调整为 8888
|
||||
slug: web-port-8888
|
||||
status: ready_for_release
|
||||
owner: project
|
||||
created_at: 2026-08-19
|
||||
requirements: requirements.md
|
||||
prd: prd.md
|
||||
design: design.md
|
||||
implementation_plan: implementation-plan.md
|
||||
release: unreleased
|
||||
traceability_note: 端口配置、安全断言、完整门禁、GitNexus 与独立 Review 已通过,等待正式版本发布
|
||||
@@ -0,0 +1,47 @@
|
||||
# Web 开发端口调整为 8888 PRD
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- PRD版本:0.1
|
||||
- 状态:approved
|
||||
- 日期:2026-08-19
|
||||
|
||||
## 背景与问题
|
||||
|
||||
本机 8080 已被其他项目占用,现有 A 股分析工具前端开发端口 5173 需要调整为用户指定的 8888。
|
||||
|
||||
## 产品目标
|
||||
|
||||
- Web 开发服务器监听 `127.0.0.1:8888`。
|
||||
- Playwright、本地开发文档和端口回归测试使用同一地址。
|
||||
- API 仍监听 `127.0.0.1:3000`,TDX 隧道仍使用 `127.0.0.1:17710`。
|
||||
|
||||
## 非目标
|
||||
|
||||
- 不改变生产 Web 端口、Nginx、API、TDX、Redis、MySQL 或 RocketMQ 配置。
|
||||
- 不停止其他项目进程,不开放公网监听。
|
||||
|
||||
## 功能需求
|
||||
|
||||
| 编号 | 优先级 | 需求 | 可观察结果 |
|
||||
|---|---|---|---|
|
||||
| FR-001 | P0 | 调整 Vite 开发端口 | `vite.config.ts` 的 `server.port` 为 8888 |
|
||||
| FR-002 | P0 | 同步 E2E 和本地文档 | Playwright 和开发手册访问 8888 |
|
||||
| FR-003 | P0 | 保持本机安全边界 | host 仍为 127.0.0.1,strictPort 仍启用 |
|
||||
|
||||
## 安全需求与信任边界
|
||||
|
||||
本次只改变本机开发监听端口,不改变监听地址、代理目标、认证、数据源或凭据。8080 占用进程不属于本项目,不停止或操作该进程。
|
||||
|
||||
## 性能目标与容量假设
|
||||
|
||||
端口变化不应改变构建、代理和页面运行时性能;Vite 应在 30 秒内启动并返回首页。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- `web/src/vite-config.test.ts` 断言端口为 8888。
|
||||
- `http://127.0.0.1:8888/` 返回 HTTP 200。
|
||||
- API 代理仍转发到 `http://127.0.0.1:3000`。
|
||||
|
||||
## 关联模块与同步修改
|
||||
|
||||
涉及 Web Vite 配置、Web 配置测试、Playwright 配置和本地开发文档;不涉及 HTTP/OpenAPI、数据库、Redis、消息、Scheduler、Worker 和生产部署。
|
||||
@@ -0,0 +1,19 @@
|
||||
# 测试结果
|
||||
|
||||
- RED:端口断言在旧配置下按预期失败,实际值为 5173,期望值为 8888。
|
||||
- GREEN:Web Vitest 8 个测试文件、21 个测试全部通过。
|
||||
- 安全回归:Vite 配置测试同时锁定 `host=127.0.0.1`、`port=8888` 和 `strictPort=true`。
|
||||
- HTTP:`curl -I http://127.0.0.1:8888/` 返回 HTTP 200。
|
||||
- API:`/api/v1/market-overview/summary` 返回 HTTP 200,`source=tdx`、`status=fresh`。
|
||||
- TDX:外部 Tailscale SSH 隧道 `127.0.0.1:17710` 只读请求返回 `ErrorId=0`。
|
||||
- 健康检查:API 返回 503,明确原因为开发 MySQL 不可用;Redis 为 healthy,RocketMQ 为 disabled。该结果不影响端口和 TDX 链路验收。
|
||||
- 完整门禁:`pnpm verify` 通过,Web 21/21、Server 67/67、启动器 2/2、Playwright 4/4,类型检查与前后端构建通过。
|
||||
- Lint:0 error;保留市场概览组件既有 35 条格式 warning,本功能没有新增 warning。
|
||||
|
||||
## 安全验证
|
||||
|
||||
监听地址保持回环;未停止或修改占用 8080 的外部进程;变更中未写入新凭据、本机绝对路径或临时进程标识。
|
||||
|
||||
## 性能验证
|
||||
|
||||
Vite 启动耗时约 194ms,首页可立即访问;完整构建和 E2E 通过,未增加运行时依赖和外部服务调用。
|
||||
@@ -0,0 +1,11 @@
|
||||
# 视觉验证
|
||||
|
||||
本次仅改变开发服务器端口,不改变页面布局、样式或组件。收尾的 Playwright 在桌面与移动端共执行 4 个用例并全部通过;页面视觉基线继续沿用 FEAT-MO-001 的既有截图,不制造重复截图产物。
|
||||
|
||||
## 安全验证
|
||||
|
||||
Web 仍只绑定 `127.0.0.1`,没有新增局域网或公网访问入口。
|
||||
|
||||
## 性能验证
|
||||
|
||||
Vite 监听 8888 后首页响应正常,端口变更不影响页面资源加载路径。
|
||||
@@ -0,0 +1,3 @@
|
||||
# 发布说明
|
||||
|
||||
本地开发 Web 端口从 5173 调整为 8888。API、TDX 隧道和生产配置不变。该功能尚未创建发布标签。
|
||||
@@ -0,0 +1,14 @@
|
||||
# 需求
|
||||
|
||||
用户要求将前端开发端口改为 `8888`,检查是否被占用并启动项目。
|
||||
|
||||
## 实际范围
|
||||
|
||||
- Vite 开发服务器从 5173 改为 8888。
|
||||
- Playwright `baseURL` 和 Web Server 检查地址同步为 8888。
|
||||
- 本地开发手册 Web 地址同步为 8888。
|
||||
- API 继续使用 3000,TDX 外部隧道继续映射到 17710。
|
||||
|
||||
## 范围变化
|
||||
|
||||
8080 初次检查发现已被其他项目 Python `run.py` 进程占用,因此没有停止该进程,改用用户确认的 8888。
|
||||
@@ -0,0 +1,46 @@
|
||||
# 代码 Review
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- reviewer_type:self
|
||||
- reviewer:Codex
|
||||
- 日期:2026-08-19
|
||||
|
||||
## 审查范围
|
||||
|
||||
审查 `web/vite.config.ts`、`web/src/vite-config.test.ts`、`web/playwright.config.ts`、本地开发手册及对应功能档案。
|
||||
|
||||
## PRD 与设计符合性
|
||||
|
||||
符合:Vite、Playwright 和本地开发文档统一使用 8888,API 3000、TDX 隧道 17710 和回环监听保持不变。
|
||||
|
||||
## 发现
|
||||
|
||||
| 严重程度 | 位置 | 问题 | 影响 | 处理 |
|
||||
|---|---|---|---|---|
|
||||
| 无 | - | 未发现本次范围内问题 | - | - |
|
||||
|
||||
## 测试缺口
|
||||
|
||||
收尾时完整 E2E 首次运行发现市场概览测试夹具时钟未隔离;该跨日缺陷不属于端口行为,已由 `FEAT-QA-001` 使用固定测试时钟修复并纳入完整门禁。
|
||||
|
||||
## 安全与残余风险
|
||||
|
||||
保持 `127.0.0.1` 和 `strictPort`,不停止其他项目。残余风险是 8888 被其他进程占用时启动会明确失败。
|
||||
|
||||
## 性能与资源影响
|
||||
|
||||
仅改变监听端口;Vite 启动约 194ms,无新依赖和外部负载。
|
||||
|
||||
## GitNexus 与同步修改
|
||||
|
||||
GitNexus 对 Vite 和 Playwright 配置影响评估为 LOW;同步更新了配置测试、E2E 地址和本地开发文档。
|
||||
|
||||
## 修复与复审
|
||||
|
||||
端口测试已完成 RED/GREEN;独立 Review 要求补锁回环地址和 `strictPort`,对应断言已增加。档案中的本机绝对路径、临时 PID 和旧验证结论已清理;完整门禁通过,等待最终复审。
|
||||
|
||||
## 最终结论
|
||||
|
||||
最终独立复审确认回环监听、8888、`strictPort`、Playwright 和文档一致;无 Critical、Important 或 Minor 问题,`Ready to commit: Yes`。
|
||||
|
||||
最终结论:passed
|
||||
@@ -0,0 +1,36 @@
|
||||
# 开发规范符合性 Review
|
||||
|
||||
- 功能编号:FEAT-MO-002
|
||||
- reviewer_type:self
|
||||
- reviewer:Codex
|
||||
- 日期:2026-08-19
|
||||
|
||||
## 检查结果
|
||||
|
||||
- [x] 必要中文注释准确且没有逐行废话注释。
|
||||
- [x] 文件按稳定职责拆分,没有过度碎片化。
|
||||
- [x] 端口、监听地址和时间语义明确。
|
||||
- [x] 错误处理和 strictPort 行为保持不变。
|
||||
- [x] 安全策略、性能目标、验证证据和残余风险完整。
|
||||
- [x] 未引入依赖,未发生 API 或前端请求边界变化。
|
||||
- [x] GitNexus 开发前影响分析和开发后检测已记录,风险 LOW、0 受影响执行流。
|
||||
- [x] 开发总结记录了需求、范围变化、完成项、延期项和验证证据。
|
||||
- [x] PRD、设计、测试、发布和回退口径一致。
|
||||
|
||||
## 不符合项与处置
|
||||
|
||||
独立 Review 发现安全配置断言不足、功能档案含本机绝对路径/临时 PID 且验证结论已过时。现已清理敏感环境细节并补充 `host`、`port`、`strictPort` 回归断言;完整门禁通过,等待最终复审。
|
||||
|
||||
## 安全、性能与架构检查
|
||||
|
||||
监听仍为 127.0.0.1;端口变化不改变资源性能;8080 外部进程未被操作。
|
||||
|
||||
## GitNexus 与开发总结检查
|
||||
|
||||
影响风险 LOW,配置、测试、E2E 和文档同步修改均已记录;开发总结列出 TDX 外部隧道与 MySQL 健康检查证据。
|
||||
|
||||
## 最终结论
|
||||
|
||||
最终独立复审确认完整门禁、GitNexus、安全清理和逐路径提交策略符合规范;无未关闭问题。
|
||||
|
||||
最终结论:passed
|
||||
@@ -0,0 +1,19 @@
|
||||
# 回退说明
|
||||
|
||||
## 触发条件
|
||||
|
||||
- 8888 与本机其他必要服务冲突。
|
||||
- Playwright 或本地开发脚本无法访问前端。
|
||||
- 发现端口改动影响非开发环境配置。
|
||||
|
||||
## 回退步骤
|
||||
|
||||
1. 将 `web/vite.config.ts` 的 `server.port` 恢复为 5173。
|
||||
2. 将 `web/playwright.config.ts` 的 `baseURL` 和 `webServer.url` 恢复为 5173。
|
||||
3. 将 `docs/deployment/local-development.md` 的 Web 地址恢复为 5173。
|
||||
4. 同步修改端口回归测试和本功能档案,执行 Web 测试与启动验证。
|
||||
5. 停止本功能启动的 Web 进程,不操作 8080 的其他项目。
|
||||
|
||||
## 数据与外部服务
|
||||
|
||||
本次不修改 MySQL、Redis、RocketMQ、TDX 客户端或 SSH 隧道配置,因此无需数据回退。
|
||||
@@ -0,0 +1,22 @@
|
||||
# 测试计划
|
||||
|
||||
## 功能验证
|
||||
|
||||
- Vite 配置单元测试:监听地址为 `127.0.0.1`、端口为 8888、`strictPort=true`,代理仍为本地 API。
|
||||
- Web 启动验证:8888 返回首页 HTML。
|
||||
- Playwright 配置检查:baseURL 和 webServer URL 均为 8888。
|
||||
|
||||
## 安全验证
|
||||
|
||||
- 检查监听地址仍为 `127.0.0.1`。
|
||||
- 检查 8080 外部 Python 进程未被停止或修改。
|
||||
- 检查无密钥、密码和公网地址进入变更文件。
|
||||
|
||||
## 性能验证
|
||||
|
||||
- 记录 Vite 启动耗时和首页 HTTP 响应。
|
||||
- 端口配置不引入新依赖、不增加 API 或数据源负载。
|
||||
|
||||
## 验证边界
|
||||
|
||||
生产部署验证不属于本地开发端口范围;收尾时仍执行完整仓库门禁和 Playwright 桌面/移动端回归,确保端口同步没有破坏测试启动链路。
|
||||
@@ -6,7 +6,7 @@ export default defineConfig({
|
||||
retries: 0,
|
||||
reporter: 'list',
|
||||
use: {
|
||||
baseURL: 'http://127.0.0.1:5173',
|
||||
baseURL: 'http://127.0.0.1:8888',
|
||||
trace: 'retain-on-failure',
|
||||
},
|
||||
webServer: [
|
||||
@@ -18,7 +18,7 @@ export default defineConfig({
|
||||
},
|
||||
{
|
||||
command: 'env -u NO_COLOR pnpm dev',
|
||||
url: 'http://127.0.0.1:5173',
|
||||
url: 'http://127.0.0.1:8888',
|
||||
reuseExistingServer: false,
|
||||
timeout: 30_000,
|
||||
},
|
||||
|
||||
@@ -16,4 +16,10 @@ describe('Vite 本地 API 代理', () => {
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('本地开发服务器只在回环地址严格监听 8888 端口', () => {
|
||||
expect(viteConfig.server?.host).toBe('127.0.0.1');
|
||||
expect(viteConfig.server?.port).toBe(8888);
|
||||
expect(viteConfig.server?.strictPort).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ export default defineConfig({
|
||||
),
|
||||
server: {
|
||||
host: '127.0.0.1',
|
||||
port: 5173,
|
||||
port: 8888,
|
||||
strictPort: true,
|
||||
proxy: {
|
||||
// 本地浏览器始终请求同源 /api,由 Vite 转发到 NestJS,避免开发环境放宽 CORS。
|
||||
|
||||
Reference in New Issue
Block a user