iOSBuildServer/frontend/vite.config.js
shen f5919a8229 feat: 构建超时控制、日志持久化、任务删除、pod install 及多项 UI 优化
- 新增 BUILD_TIMEOUT_HOURS 配置,超时自动标记失败
- 日志保存到独立 backend/logs/ 目录,不随构建目录删除
- 新增任务删除 API 及前端删除按钮
- 构建流程增加 pod install 步骤
- 通过文件传递配置避免命令行参数截断
- Provisioning Profile 支持按名称搜索
- dSYM 下载支持目录打包为 zip
- 前端端口可配置、历史页增加下载列和耗时显示
- 日志弹窗支持展开/收起详细日志
- 自动生成 upload_key 标识
2026-06-08 18:56:43 +08:00

45 lines
1.1 KiB
JavaScript

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { readFileSync, existsSync } from 'fs'
import { resolve } from 'path'
// 从项目根目录的 .env 读取端口配置
function loadEnv() {
const env = {}
const envPath = resolve(__dirname, '../.env')
if (existsSync(envPath)) {
const content = readFileSync(envPath, 'utf-8')
for (const line of content.split('\n')) {
const trimmed = line.trim()
if (trimmed && !trimmed.startsWith('#') && trimmed.includes('=')) {
const idx = trimmed.indexOf('=')
const key = trimmed.slice(0, idx).trim()
const value = trimmed.slice(idx + 1).trim()
env[key] = value
}
}
}
return env
}
const env = loadEnv()
const backendPort = env.BACKEND_PORT || '8000'
const frontendPort = env.FRONTEND_PORT || '3000'
export default defineConfig({
plugins: [vue()],
server: {
port: parseInt(frontendPort),
proxy: {
'/api': `http://localhost:${backendPort}`,
'/ws': {
target: `ws://localhost:${backendPort}`,
ws: true,
},
},
},
build: {
outDir: '../backend/static',
},
})