Files
easygoadmin-wiki/EasyGoAdmin_Gin_NaiveVue/zh/deploy/frontend.md
T
2026-10-25 17:24:27 +08:00

1.9 KiB
Raw Blame History

11.5 前端部署

:::tip 概述 前端构建为纯静态产物(dist/),由 Nginx 直接服务。部署三要素:构建时环境变量、history 模式回退、与后端的路径对齐。 :::

构建

cd ui
pnpm install --frozen-lockfile
pnpm build          # 产物输出 dist/

构建前确认 .env.production:

键 生产值
VITE_GLOB_API_URL 留空(同源反代)或网关基址
VITE_GLOB_API_URL_PREFIX /api
VITE_BUILD_COMPRESS gzip(或 none,交 Nginx 压缩)

Nginx 站点配置要点

server {
    listen 443 ssl;
    server_name your-domain;

    root /var/www/easygoadmin;
    index index.html;

    # history 模式回退(刷新子路由 404 的根治)
    location / {
        try_files $uri $uri/ /index.html;
    }

    # API 反代到应用
    location /api/ {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    # 静态资源长缓存(带 hash 的 assets)
    location /assets/ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

发布流程

① pnpm build → 上传 dist/ 到站点根(原子切换:软链切换目录)
② 刷新浏览器验证(强刷清旧资源缓存)
③ 回滚 = 软链切回上一版目录

常见问题

现象 原因
刷新 404 history 回退缺失(try_files /index.html)
接口 404/跨域 反代路径不对 / VITE_GLOB_API_URL 与部署形态不匹配
白屏(懒加载失败) 菜单 component 路径与产物文件不符;或 base 路径配置错
旧版本缓存 index.html 未禁缓存(应 no-cache,assets 长缓存)

相关