pan-disk/vite.config.ts
2025-06-29 17:52:31 +08:00

54 lines
1.3 KiB
TypeScript

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',
},
},
});