import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import WindiCSS from 'vite-plugin-windicss' 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({ define: { // enable hydration mismatch details in production build __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'true', }, plugins: [ vue({ script: { defineModel: true, }, }), 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.187:8080', changeOrigin: true, rewrite: path => path.replace(/^\/api/, ''), }, }, }, css: { preprocessorOptions: { scss: { additionalData: `@import '@/styles/variables.scss';`, }, }, }, })