import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import vueDevTools from 'vite-plugin-vue-devtools'; import path from 'node:path'; import AutoImport from 'unplugin-auto-import/vite'; import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'; import Components from 'unplugin-vue-components/vite'; export default defineConfig({ root: path.resolve(__dirname, 'web-src'), plugins: [ vue(), vueDevTools(), AutoImport({ imports: [ 'vue', '@vueuse/core', 'pinia', 'vue-router', { 'naive-ui': ['useDialog', 'useMessage', 'useNotification', 'useLoadingBar'], }, ], dts: 'types/AutoImport.d.ts', }), Components({ resolvers: [NaiveUiResolver()], dts: 'types/Components.d.ts', }), ], resolve: { alias: { '@': path.resolve(__dirname, 'web-src'), }, }, build: { outDir: path.resolve(__dirname, 'src/main/resources/html'), emptyOutDir: true, rollupOptions: { output: { chunkFileNames: 'static/js/[hash].js', entryFileNames: 'static/js/[hash].js', assetFileNames: 'static/[ext]/[hash].[ext]', }, }, }, server: { host: '0.0.0.0', proxy: { '/apis': 'http://localhost:9963', }, }, });