fix(deploy): 构建后同步 web/promotion 至 dist,解决 /promotion 静态 404
Made-with: Cursor
This commit is contained in:
@@ -288,6 +288,20 @@ echo "构建 web 前端 -> deploy/web/dist ..."
|
||||
run_sudo docker run --rm -v "$ROOT/web:/app" -v "$ROOT/deploy/web/dist:/out" -w /app \
|
||||
"${REGISTRY_MIRROR}node:20-alpine" sh -c "rm -rf /out/* 2>/dev/null; (npm ci --legacy-peer-deps 2>/dev/null || npm install --legacy-peer-deps) && npm run build && cp -r dist/. /out/"
|
||||
|
||||
# 官网访问的是 Nginx 根目录 deploy/web/dist,不是源码 web/;必须把 /promotion/ 静态资源拷进 dist,否则 social、logo 等一律 404
|
||||
echo "同步 web/promotion -> deploy/web/dist/promotion(排除 .mov,大视频请走后台 API)..."
|
||||
mkdir -p "$ROOT/deploy/web/dist/promotion"
|
||||
if command -v rsync >/dev/null 2>&1; then
|
||||
rsync -a --exclude='*.mov' --exclude='*.MOV' --exclude='_pptx_extract/' \
|
||||
"$ROOT/web/promotion/" "$ROOT/deploy/web/dist/promotion/"
|
||||
else
|
||||
mkdir -p "$ROOT/deploy/web/dist/promotion/social"
|
||||
cp -a "$ROOT/web/promotion/social/." "$ROOT/deploy/web/dist/promotion/social/" 2>/dev/null || true
|
||||
[ -f "$ROOT/web/promotion/logo.png" ] && cp -a "$ROOT/web/promotion/logo.png" "$ROOT/deploy/web/dist/promotion/" || true
|
||||
[ -f "$ROOT/web/promotion/index.html" ] && cp -a "$ROOT/web/promotion/index.html" "$ROOT/deploy/web/dist/promotion/" || true
|
||||
echo "提示: 未检测到 rsync,仅复制了 social/logo 等;完整 promotion 请安装 rsync 后重跑本脚本。" >&2
|
||||
fi
|
||||
|
||||
echo "构建 admin 前端 -> deploy/admin/dist ..."
|
||||
# admin 的 vite 别名 @yh-web -> ../web/src,须挂载项目根,否则容器内无 web 目录会报 BlockRenderer.vue ENOENT
|
||||
run_sudo docker run --rm -v "$ROOT:/repo" -v "$ROOT/deploy/admin/dist:/out" -w /repo/admin \
|
||||
|
||||
Reference in New Issue
Block a user