mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-13 09:36:05 +00:00
The /login proxy entry was matching any path starting with /login — including /login.html, which Vite is supposed to serve itself. Without the Go backend running, this caused ECONNREFUSED noise on every page load. Switched to regex patterns anchored with ^...$ so only the bare backend paths (/login, /logout, /getTwoFactorEnable) and explicit sub-routes (/panel/*, /server/*) get proxied. Static .html files Vite serves directly are no longer matched. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import { defineConfig } from 'vite';
|
|
import vue from '@vitejs/plugin-vue';
|
|
import path from 'node:path';
|
|
|
|
// Output goes to web/dist/ at the repo root so the Go binary can embed it
|
|
// via embed.FS without reaching outside the web/ tree.
|
|
const outDir = path.resolve(__dirname, '../web/dist');
|
|
|
|
export default defineConfig({
|
|
plugins: [vue()],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, 'src'),
|
|
},
|
|
},
|
|
build: {
|
|
outDir,
|
|
emptyOutDir: true,
|
|
sourcemap: true,
|
|
target: 'es2020',
|
|
// Multiple HTML entries — one per legacy page we migrate.
|
|
// As pages get ported in later phases, add their entrypoints here.
|
|
rollupOptions: {
|
|
input: {
|
|
index: path.resolve(__dirname, 'index.html'),
|
|
login: path.resolve(__dirname, 'login.html'),
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
proxy: {
|
|
// Proxy API calls during `npm run dev` to the local Go panel.
|
|
// Patterns are anchored regex so /login.html and /index.html
|
|
// (which Vite serves itself) are NOT forwarded — only the bare
|
|
// backend paths and their sub-routes.
|
|
'^/(login|logout|getTwoFactorEnable)$': 'http://localhost:2053',
|
|
'^/(panel|server)(/|$)': 'http://localhost:2053',
|
|
},
|
|
},
|
|
});
|