import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import ElementPlus from 'unplugin-element-plus/vite' export default defineConfig({ plugins: [ vue(), // Element Plus 自動導入 AutoImport({ resolvers: [ElementPlusResolver()], imports: [ 'vue', 'vue-router', 'pinia', { axios: [ 'default', ['default', 'axios'] ] } ], dts: true }), Components({ resolvers: [ElementPlusResolver()] }), ElementPlus({ useSource: true }) ], resolve: { alias: { '@': resolve(__dirname, 'src') } }, server: { port: 3000, host: '0.0.0.0', proxy: { '/api': { target: 'http://127.0.0.1:5000', changeOrigin: true, secure: false }, '/socket.io': { target: 'http://127.0.0.1:5000', changeOrigin: true, ws: true } } }, build: { outDir: 'dist', assetsDir: 'assets', sourcemap: false, rollupOptions: { output: { chunkFileNames: 'js/[name]-[hash].js', entryFileNames: 'js/[name]-[hash].js', assetFileNames: '[ext]/[name]-[hash].[ext]' } } }, define: { __VUE_OPTIONS_API__: true, __VUE_PROD_DEVTOOLS__: false } })