fix(deploy): staging C端 H5 根路径部署,去掉 /user 前缀

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-03 20:22:51 +08:00
parent ffa753707b
commit d90847bad0
3 changed files with 26 additions and 5 deletions
+1 -2
View File
@@ -105,8 +105,7 @@ export default defineConfig(async () => ({
},
},
h5: {
// 生产发版由 remote-release 注入 TARO_H5_PUBLIC_PATH=/user/、TARO_H5_ROUTER_BASENAME=/user
// 本地预览勿强制 basename,否则静态托管下易白屏
// staginguser-test.dukanghaoke.com 根路径;生产:remote-release 注入 /user/
publicPath: process.env.TARO_H5_PUBLIC_PATH || '/',
...(process.env.TARO_H5_ROUTER_BASENAME
? {
+8
View File
@@ -69,6 +69,14 @@ server {
proxy_set_header Connection "";
}
# 旧 /user 前缀书签 → 根路径(staging 独立域名,无 /user 子路径)
location = /user {
return 301 /;
}
location ^~ /user/ {
rewrite ^/user/(.*)$ /$1 permanent;
}
location / {
proxy_pass http://127.0.0.1:8191;
proxy_http_version 1.1;
+17 -3
View File
@@ -88,9 +88,14 @@ corepack prepare pnpm@11.2.2 --activate 2>/dev/null || true
echo "==> 2. 安装依赖"
# mini-user H5Taro)构建峰值内存较高
export NODE_OPTIONS="${NODE_OPTIONS:---max-old-space-size=8192}"
# 生产部署 pathnginx 入口为 /user/
export TARO_H5_PUBLIC_PATH="${TARO_H5_PUBLIC_PATH:-/user/}"
export TARO_H5_ROUTER_BASENAME="${TARO_H5_ROUTER_BASENAME:-/user}"
# C 端 H5 静态资源路径:staging 独立域名根路径;生产 nginx 入口为 /user/
if [[ "$DUKANG_DEPLOY_ENV" == "staging" ]]; then
export TARO_H5_PUBLIC_PATH="${TARO_H5_PUBLIC_PATH:-/}"
unset TARO_H5_ROUTER_BASENAME
else
export TARO_H5_PUBLIC_PATH="${TARO_H5_PUBLIC_PATH:-/user/}"
export TARO_H5_ROUTER_BASENAME="${TARO_H5_ROUTER_BASENAME:-/user}"
fi
# C 端 H5 编译期注入的 API origin(勿落到 localhost
export VITE_API_TARGET="${VITE_API_TARGET:-$VITE_API_DEFAULT}"
export VITE_APP_ENV="$DUKANG_DEPLOY_ENV"
@@ -167,3 +172,12 @@ APP_ROOT="$APP_ROOT" DEPLOY_TRIGGER="${DEPLOY_TRIGGER:-manual}" DUKANG_ENV_FILE=
|| echo "WARN: system_version 写入失败"
echo "==> 发版完成 ($DUKANG_DEPLOY_ENV)"
if [[ "$DUKANG_DEPLOY_ENV" == "staging" ]]; then
echo "==> 8. 重载 nginxstaging"
if command -v nginx >/dev/null 2>&1 && nginx -t 2>/dev/null; then
systemctl reload nginx || echo "WARN: nginx reload failed"
else
echo "WARN: nginx 未安装或配置校验失败,跳过重载"
fi
fi