Files
g3fo-recurring-investment/vite.config.ts
T

67 lines
1.7 KiB
TypeScript

import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from 'node:url'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import { defineConfig, loadEnv } from 'vite'
const DEFAULT_PROXY_TARGET = 'http://192.168.3.230:18000'
// https://vite.dev/config/
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '')
const proxyTarget = (env.VITE_API_PROXY_TARGET || DEFAULT_PROXY_TARGET).trim().replace(/\/+$/, '')
return {
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
dts: 'src/types/auto-imports.d.ts',
}),
Components({
resolvers: [ElementPlusResolver({ importStyle: 'sass' })],
dts: 'src/types/components.d.ts',
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
port: 5173,
open: true,
proxy: {
'/base': {
target: proxyTarget,
changeOrigin: true,
secure: false,
},
'/trade': {
target: proxyTarget,
changeOrigin: true,
secure: false,
},
'/product': {
target: proxyTarget,
changeOrigin: true,
secure: false,
},
'/api': {
target: proxyTarget,
changeOrigin: true,
secure: false,
},
},
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "@/styles/mixins/respond" as *;\n`,
},
},
},
}
})