import { fileURLToPath, URL } from 'node:url' import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import vueJsx from '@vitejs/plugin-vue-jsx' // https://vitejs.dev/config/ export default defineConfig(({ command, mode }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) } const theme = process.env.VITE_THEME || 'default' return { base: process.env.VITE_BASE_URL, build: { sourcemap: false }, plugins: [ vue(), vueJsx(), AutoImport({ resolvers: [ElementPlusResolver()] }), Components({ resolvers: [ElementPlusResolver()] }) ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } }, server: { host: '0.0.0.0' }, define: { 'process.env': process.env }, css: { preprocessorOptions: { scss: { additionalData: `@use "@/styles/themes/${theme}/index.scss"; @use "@/styles/themes/${theme}/dark.scss";`, api: 'modern-compiler' } } }, html: {} } })