Files
web/deploy/README.md

2.0 KiB
Raw Blame History

deploy 目录(与 api 相同:仅替换构建产物;web 容器除 web/public 外不挂源码目录)

  • deploy/web/dist:前台构建产物,由 pull-and-restart.sh 生成;替换此目录内容即可更新前台。
  • deploy/admin/dist:后台构建产物,同上。后台 Vite 通过 @yh-web 引用 ../web/src(如积木 BlockRenderer),用 Docker 单目录挂载 admin 时会构建失败,须挂载项目根再在 admin 下执行 npm run build(见 pull-and-restart.sh)。
  • deploy/api/serverAPI 二进制,同上;替换后重启 api 容器生效。
  • deploy/web/default.confdeploy/admin/default.confNginx 配置,已纳入版本库。

日常更新:在服务器执行 ./pull-and-restart.sh 会拉代码、重新构建到上述目录并重启容器。若只改静态资源,也可在服务器上手动构建后只重启对应容器。

后台白屏 / 控制台 “MIME type text/html” 针对 index-*.js

表示浏览器拿到的不是 JS而是 HTML常见/assets/*.js 被 SPA 回退成 index.html,或 404 返回了 HTML 错误页)。

  1. 确认 Nginx 配置已更新deploy/admin/default.conf 须含 location ^~ /assets/try_files $uri =404(与仓库内 admin/nginx.conf 一致),挂载后重启 admin 容器。
  2. 确认 dist 完整deploy/admin/dist/assets/ 下须有与 index.html<script type="module"> 引用同名的哈希文件;发版后应整目录替换 dist(勿只拷 index.html)。
  3. 本地重建:在项目根按 pull-and-restart.sh 方式在 admin/ 执行 npm run buildvite.configbase 须为 '/admin/'
  4. 勿用旧版 nginx/admin.conf:若曾把仅含 location / 的旧配置拷到服务器,会导致 /assets/*.js 全部变成 index.html(约 640B、MIME 错)。请以 deploy/admin/default.confadmin/nginx.conf 为准,并 docker compose restart admin nginx