build: 使用兼容生产环境的前端构建流程 #14

Merged
lunanting merged 1 commits from codex/production-vite-compat-0917 into main 2026-09-17 11:54:51 +08:00
Owner

问题与结果

生产服务器是旧内核,rolldown-vite 在 Node 22 容器中无法解析正常存在的配置和入口文件。前端改用标准 Vite 7.2.7,并增加 deploy/production/build-frontend.sh:源码在 Node 22 容器内部临时目录构建,只将验证后的 dist 写回服务器。

实际证据

  • 原流程在服务器分别报 Cannot resolve entry module vite.config.js 和 index.html。
  • 标准 Vite 7.2.7 在同一服务器、同一 Node 22 容器中成功转换 4,279 个模块并完成生产构建。
  • 本地重新 npm ci 后确认实际加载 vite@7.2.7;lint、16 项测试、生产构建全部通过。
  • 构建脚本校验 dist/__build_version__.json 的完整提交 SHA,避免部署错误产物。

不涉及数据库、运行配置或业务逻辑变更。

## 问题与结果 生产服务器是旧内核,`rolldown-vite` 在 Node 22 容器中无法解析正常存在的配置和入口文件。前端改用标准 Vite 7.2.7,并增加 `deploy/production/build-frontend.sh`:源码在 Node 22 容器内部临时目录构建,只将验证后的 `dist` 写回服务器。 ## 实际证据 - 原流程在服务器分别报 `Cannot resolve entry module vite.config.js` 和 `index.html`。 - 标准 Vite 7.2.7 在同一服务器、同一 Node 22 容器中成功转换 4,279 个模块并完成生产构建。 - 本地重新 `npm ci` 后确认实际加载 `vite@7.2.7`;lint、16 项测试、生产构建全部通过。 - 构建脚本校验 `dist/__build_version__.json` 的完整提交 SHA,避免部署错误产物。 不涉及数据库、运行配置或业务逻辑变更。
lunanting added 1 commit 2026-09-17 11:54:30 +08:00
lunanting merged commit fd89eb64d2 into main 2026-09-17 11:54:51 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lunanting/cangku#14
No description provided.