发布部署
10
类别: 
vortmall前端Admin开发

发布部署

1. 前置条件

  • Node.js 版本^20.19.0 || >=22.12.0
  • 包管理器:建议统一使用 npm(仓库有 package-lock.json

2. 配置生产环境变量 .env.production

Vort-Admin/ 根目录创建 .env.production(建议不要提交包含敏感信息的环境变量文件)。

生产环境常用模板(按实际环境修改):

# ===================== 接口请求 =====================
# axios 会按以下规则拼接请求地址:
# baseURL = VITE_BASE_URL + VITE_REQUEST_URL_PREFIX
VITE_BASE_URL=https://api.example.com
VITE_REQUEST_URL_PREFIX=/api

# ===================== 部署子目录(按需) =====================
# 为空表示部署在根路径。
# 如部署在子目录 /admin 下,则填写:/admin(不要以 / 结尾)
VITE_BASE_DIR=

# ===================== Demo 模式(可选) =====================
VITE_IS_DEMO=0

# ===================== 版本/形态开关(可选) =====================
VITE_IS_MERCHANT=0
VITE_IS_PRO=0
VITE_IS_OVERSEAS=0
VITE_IS_B2B=0
VITE_IS_S2B2C=0
VITE_IS_STORE=0

# ===================== MQTT(可选) =====================
# 建议生产环境显式配置为可访问的 ws(s) 地址;不配则默认同域 /mqtt
VITE_MQTT_URL=

3. 构建打包

Vort-Admin/ 根目录执行:

npm run build

构建成功后,会生成 dist/ 目录(Vite 默认构建产物目录)。

4. 产物说明

dist/ 目录内通常包含:

  • index.html
  • assets/.js.css、图片等静态资源)

dist/ 目录内静态文件发布到 Nginx 或任意静态资源服务器即可,其中 index.html 为入口页面。

5. 部署在根路径(示例)

dist/ 内文件部署到站点根目录,例如:

  • 站点:https://admin.example.com/
  • 部署:把 dist/ 内文件上传到 Nginx 的站点根目录(如 /var/www/admin/

Nginx 伪静态(History 模式刷新不 404):

location / {
  try_files $uri $uri/ /index.html;
}

6. 部署在子目录(示例:/admin)

若希望访问地址为 https://www.example.com/admin/

  1. .env.production 设置:
  • VITE_BASE_DIR=/admin(不要以 / 结尾)
  1. 重新构建:
npm run build
  1. 部署静态资源到站点的 /admin/ 目录(或对应的别名目录)。

Nginx 伪静态(将 /admin 替换为你实际的子目录):

location ^~ /admin/ {
  try_files $uri $uri/ /admin/index.html;
}

7. 自定义构建产物目录(可选)

当前 vite.config.ts 未配置 build.outDir,默认产物目录为 dist/

如需自定义(例如改为 admin-dist),在 vite.config.ts 增加:

build: { outDir: "admin-dist" }

8. MQTT / WebSocket(如启用 IM 与消息推送)

如不配置 VITE_MQTT_URL

  • 开发环境默认连接:ws(s)://{hostname}:8083/mqtt
  • 生产环境默认连接:ws(s)://{host}/mqtt

部署时如走同域 /mqtt,需在网关/Nginx 配置 WebSocket 反向代理到 MQTT Broker(以实际后端部署为准)。

评论 0
/ 1000
0
0
收藏