Build a separate admin entrypoint with its own router and sidebar layout. Add preview sections for problems, contests, users, judge nodes and site settings. Configure Vite to emit both public and admin HTML entries.
27 lines
707 B
TypeScript
27 lines
707 B
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import { fileURLToPath, URL } from 'node:url'
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '')
|
|
return {
|
|
plugins: [vue()],
|
|
build: {
|
|
rollupOptions: {
|
|
input: {
|
|
main: fileURLToPath(new URL('./index.html', import.meta.url)),
|
|
admin: fileURLToPath(new URL('./admin/index.html', import.meta.url)),
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
proxy: {
|
|
'/api': { target: env.KF_API_PROXY_TARGET || 'http://127.0.0.1:8000' },
|
|
},
|
|
},
|
|
preview: { port: 4173, strictPort: true },
|
|
}
|
|
})
|