gpstracker/frontend/vite.config.ts

46 lines
1.1 KiB
TypeScript

import { fileURLToPath, URL } from 'node:url'
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
// https://vite.dev/config/
export default defineConfig((env) => {
const envDir = '../';
const envars = loadEnv(env.mode, envDir);
const serverURL = new URL(
envars.VITE_API_SERVER_URL ?? 'http://localhost:3000'
);
const serverAPIPath = envars.VITE_API_PATH ?? '/api/v1';
return {
envDir: envDir,
// make the API path globally available in the client
define: {
__API_PATH__: JSON.stringify(serverAPIPath),
},
plugins: [
vue(),
vueDevTools(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
},
server: {
port: 5173,
proxy: {
// Proxy requests with the API path to the server
// <http://localhost:5173/api> -> <http://localhost:3000/api>
[serverAPIPath]: serverURL.origin,
// Proxy requests to /icons/poi.svg to the server
'/icons/poi.svg': `${serverURL.origin}`,
},
},
}
})