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

74 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 11.5 前端部署
:::tip 概述
前端构建为纯静态产物(dist/),由 Nginx 直接服务。部署三要素:构建时环境变量、history 模式回退、与后端的路径对齐。
:::
## 构建
```bash
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 站点配置要点
```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";
}
}
```
## 发布流程
```text
① pnpm build → 上传 dist/ 到站点根(原子切换:软链切换目录)
② 刷新浏览器验证(强刷清旧资源缓存)
③ 回滚 = 软链切回上一版目录
```
## 常见问题
| 现象 | 原因 |
|---|---|
| 刷新 404 | history 回退缺失(try_files /index.html) |
| 接口 404/跨域 | 反代路径不对 / VITE_GLOB_API_URL 与部署形态不匹配 |
| 白屏(懒加载失败) | 菜单 component 路径与产物文件不符;或 base 路径配置错 |
| 旧版本缓存 | index.html 未禁缓存(应 no-cache,assets 长缓存) |
## 相关
- [9.3 环境与构建配置](/zh/frontend/env-config.html)