fix: 修复 admin-ui 生产构建 runtime 资源缺失 (#27) #33

Closed
opened 2026-08-23 23:38:45 +08:00 by ila · 0 comments
Owner

状态

已完成

原始需求

  • 来源:MVP-1 集成验收工单 #27,2026-08-23。
  • 脱敏摘要:对管理端正式构建产物执行真实浏览器登录验收。

问题事实

pnpm build:prod 返回成功,但生成的 dist/index.html 引用模块 runtime 文件,dist/js/ 中却不存在该文件。Chromium 因请求回退到 index.html 并收到 text/html MIME 而白屏。

目标

确保 admin-ui 的生产构建产物引用的所有 runtime 资源真实存在,并可在浏览器加载登录页。

非目标

  • 不重构构建系统或升级依赖。
  • 不改变登录业务、接口、权限或页面设计。
  • 不处理既有 Sass、包体积等构建警告。

已确认方案

  • 移除与当前 Vue 3 / webpack 5 产物不兼容的旧 script-ext-html-webpack-plugin runtime 内联配置。
  • 保留 webpack 自身的 runtimeChunk('single'),由 HTML 正常引用实际输出文件。
  • 增加生产产物完整性检查,校验 index.html 的本地 script/link 引用均存在。

该缺陷恢复生产包可运行性,不改变已确认 UI,因此复用 #17、#29 的既有设计证据,不新增原型。

影响范围

  • admin-ui/vue.config.js
  • admin-ui 构建和生产浏览器验收

风险与回退

  • 风险:runtime 不再内联,会增加一个静态资源请求;这是保证 webpack 5 产物正确加载的可接受变化。
  • 回退:回退本工单提交;但会恢复生产包白屏,不可作为可部署版本。

验收标准

  • pnpm build:prod 成功。
  • dist/index.html 引用的本地 JS/CSS 文件全部存在。
  • Chromium 能从生产 dist 渲染登录页。
  • #27 的账号密码登录及 Provider 列表安全回归通过。

验证方法

  • admin-ui lint、unit、正式构建。
  • 生产产物引用完整性检查。
  • 隔离 MySQL + 构造管理员 + Chromium 端到端测试。

文档影响

无长期产品文档影响:只修复构建产物完整性,既有启动、部署和业务行为不变。结果写入 #27 集成验收证据与任务归档。

实施与验证证据(2026-08-23)

  • 实现提交:0f580f8。
  • pnpm build:prod 成功;dist/index.html 的 11 个本地 JS/CSS 引用全部存在,模块 runtime 文件实际输出。
  • Chromium 从正式 dist 渲染登录页,并完成 #27 登录与 Provider 列表安全回归。
  • 当前状态:已于 2026-08-24 通过用户验收并关闭。

归档证据

用户验收(2026-08-24)

  • 用户明确确认本工单验收通过。
  • 状态更新为已完成并关闭。
## 状态 已完成 ## 原始需求 - 来源:MVP-1 集成验收工单 #27,2026-08-23。 - 脱敏摘要:对管理端正式构建产物执行真实浏览器登录验收。 ## 问题事实 `pnpm build:prod` 返回成功,但生成的 `dist/index.html` 引用模块 runtime 文件,`dist/js/` 中却不存在该文件。Chromium 因请求回退到 `index.html` 并收到 `text/html` MIME 而白屏。 ## 目标 确保 admin-ui 的生产构建产物引用的所有 runtime 资源真实存在,并可在浏览器加载登录页。 ## 非目标 - 不重构构建系统或升级依赖。 - 不改变登录业务、接口、权限或页面设计。 - 不处理既有 Sass、包体积等构建警告。 ## 已确认方案 - 移除与当前 Vue 3 / webpack 5 产物不兼容的旧 `script-ext-html-webpack-plugin` runtime 内联配置。 - 保留 webpack 自身的 `runtimeChunk('single')`,由 HTML 正常引用实际输出文件。 - 增加生产产物完整性检查,校验 `index.html` 的本地 script/link 引用均存在。 该缺陷恢复生产包可运行性,不改变已确认 UI,因此复用 #17、#29 的既有设计证据,不新增原型。 ## 影响范围 - `admin-ui/vue.config.js` - admin-ui 构建和生产浏览器验收 ## 风险与回退 - 风险:runtime 不再内联,会增加一个静态资源请求;这是保证 webpack 5 产物正确加载的可接受变化。 - 回退:回退本工单提交;但会恢复生产包白屏,不可作为可部署版本。 ## 验收标准 - [x] `pnpm build:prod` 成功。 - [x] `dist/index.html` 引用的本地 JS/CSS 文件全部存在。 - [x] Chromium 能从生产 `dist` 渲染登录页。 - [x] #27 的账号密码登录及 Provider 列表安全回归通过。 ## 验证方法 - admin-ui lint、unit、正式构建。 - 生产产物引用完整性检查。 - 隔离 MySQL + 构造管理员 + Chromium 端到端测试。 ## 文档影响 无长期产品文档影响:只修复构建产物完整性,既有启动、部署和业务行为不变。结果写入 #27 集成验收证据与任务归档。 ## 实施与验证证据(2026-08-23) - 实现提交:`0f580f8`。 - `pnpm build:prod` 成功;`dist/index.html` 的 11 个本地 JS/CSS 引用全部存在,模块 runtime 文件实际输出。 - Chromium 从正式 `dist` 渲染登录页,并完成 #27 登录与 Provider 列表安全回归。 - 当前状态:已于 2026-08-24 通过用户验收并关闭。 ## 归档证据 - Wiki:[Task-33-修复-admin-ui-生产构建-runtime-资源缺失](https://git.ilapage.cn/OPC/chorus/wiki/Task-33-修复-admin-ui-生产构建-runtime-资源缺失) - revision:`d09341c6d117124fd71cf8facae5e9b6517894b2` - 按规则未导出 `docs/task/`。 ## 用户验收(2026-08-24) - 用户明确确认本工单验收通过。 - 状态更新为已完成并关闭。
ila changed title from fix: ?? admin-ui ???? runtime ???? (#27) to fix: 修复 admin-ui 生产构建 runtime 资源缺失 (#27) 2026-08-23 23:39:19 +08:00
ila closed this issue 2026-08-24 00:04:31 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/chorus#33