import { fileURLToPath, URL } from 'node:url' import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import WindiCSS from 'vite-plugin-windicss' import vueJsx from '@vitejs/plugin-vue-jsx' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' // https://vitejs.dev/config/ export default defineConfig(({ command, mode }) => { const env = loadEnv(mode, process.cwd()) return { base: env.VITE_APP_BASE_URL, plugins: [ vue({ script: { defineModel: true, }, }), vueJsx(), WindiCSS(), AutoImport({ imports: [ 'vue', { 'naive-ui': [ 'useDialog', 'useMessage', 'useNotification', 'useLoadingBar', ], }, ], }), Components({ resolvers: [NaiveUiResolver()], }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, server: { open: true, host: true, port: 9547, proxy: { '/api': { target: 'http://192.168.10.143:18080', // target: 'http://192.168.10.156:8080', ws: true, changeOrigin: true, rewrite: path => path.replace(/^\/api/, ''), }, }, }, css: { preprocessorOptions: { scss: { additionalData: `@use '@/styles/variables.scss';`, }, }, }, } })