import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { IonicResolver } from 'unplugin-vue-components/resolvers' import path from 'path' import { env } from 'process' import WindiCSS from 'vite-plugin-windicss' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), AutoImport({ imports: [ 'vue', ], dts: './src/auto-imports.d.ts' }), Components({ dirs: [ path.resolve(__dirname, 'src/components'), ], resolvers: [ IonicResolver(), ], dts: './src/components.d.ts' }), WindiCSS(), ], resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, build: { rollupOptions: { output: { manualChunks: { 'ionicons': ['ionicons'], 'markdown-it': ['markdown-it'], 'highlight-js': ['highlight.js'], } }, } }, server: { host: '0.0.0.0', port: env.VITE_PORT as unknown as number || 5174, open: env.VITE_OPEN, proxy: { '/api/toolbox': { target: 'http://192.168.0.15:8144/', ws: true, changeOrigin: true, rewrite: (path) => path.replace(/^\/api\/toolbox/, ''), }, }, } })