36 lines
953 B
JavaScript
36 lines
953 B
JavaScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import { readFileSync } from 'fs'
|
|
import { join, dirname } from 'path'
|
|
import { fileURLToPath } from 'url'
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
let proxyTarget = 'http://127.0.0.1:8123'
|
|
let proxyToken = ''
|
|
try {
|
|
const config = JSON.parse(
|
|
readFileSync(join(__dirname, 'public/config.json'), 'utf8')
|
|
)
|
|
if (config.settings?.haUrl) proxyTarget = config.settings.haUrl
|
|
if (config.settings?.haToken) proxyToken = config.settings.haToken
|
|
} catch (_) {}
|
|
|
|
export default defineConfig({
|
|
plugins: [vue()],
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: proxyTarget,
|
|
changeOrigin: true,
|
|
configure: proxyToken
|
|
? (proxy) => {
|
|
proxy.on('proxyReq', (req) => {
|
|
req.setHeader('Authorization', `Bearer ${proxyToken}`)
|
|
})
|
|
}
|
|
: undefined,
|
|
},
|
|
},
|
|
},
|
|
})
|