优化vite配置

This commit is contained in:
jingrow 2025-11-04 00:50:16 +08:00
parent 756e3c1657
commit 193d57de5e

View File

@ -8,6 +8,20 @@ import Components from 'unplugin-vue-components/vite'
import fs from 'node:fs'
import path from 'node:path'
// 统一处理后端 Set-Cookie移除 Secure 标志,便于在 HTTP 开发环境保存 Cookie
const cookieRewriteConfigure = (proxy: any) => {
proxy.on('proxyRes', (proxyRes: any) => {
const setCookieHeaders = proxyRes.headers['set-cookie']
if (setCookieHeaders) {
proxyRes.headers['set-cookie'] = setCookieHeaders.map((cookie: string) => {
return cookie
.replace(/;\s*[Ss]ecure/gi, '')
.replace(/,\s*[Ss]ecure/gi, '')
})
}
})
}
// 读取 apps.txt 确定应用优先级(靠后优先)
function loadAppsOrder(appsDir: string) {
const appsTxt = path.join(appsDir, 'apps.txt')
@ -79,17 +93,7 @@ export default defineConfig(({ mode }) => {
cookieDomainRewrite: { '*': '' },
cookiePathRewrite: { '*': '/' },
// 移除 Cookie 的 Secure 标志,因为前端可能是 HTTP 访问
configure: (proxy, options) => {
proxy.on('proxyRes', (proxyRes, req, res) => {
const setCookieHeaders = proxyRes.headers['set-cookie']
if (setCookieHeaders) {
// 移除所有 Set-Cookie 中的 Secure 标志
proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => {
return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '')
})
}
})
}
configure: cookieRewriteConfigure
},
'/api/data': {
target: BACKEND_URL,
@ -97,16 +101,7 @@ export default defineConfig(({ mode }) => {
secure: false,
cookieDomainRewrite: { '*': '' },
cookiePathRewrite: { '*': '/' },
configure: (proxy, options) => {
proxy.on('proxyRes', (proxyRes, req, res) => {
const setCookieHeaders = proxyRes.headers['set-cookie']
if (setCookieHeaders) {
proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => {
return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '')
})
}
})
}
configure: cookieRewriteConfigure
},
'/jingrow': {
target: BACKEND_URL,
@ -114,16 +109,7 @@ export default defineConfig(({ mode }) => {
secure: false,
cookieDomainRewrite: { '*': '' },
cookiePathRewrite: { '*': '/' },
configure: (proxy, options) => {
proxy.on('proxyRes', (proxyRes, req, res) => {
const setCookieHeaders = proxyRes.headers['set-cookie']
if (setCookieHeaders) {
proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => {
return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '')
})
}
})
}
configure: cookieRewriteConfigure
}
}
},