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 {
dirResolver,
DirResolverHelper,
AutoGenerateImports
} from 'vite-auto-import-resolvers'
import { loadEnv } from 'vite'
export default ({ command, mode }) => {
return defineConfig({
plugins: [
vue(),
DirResolverHelper(),
AutoImport({
imports: AutoGenerateImports(),
dts: 'src/auto-import.d.ts',
resolvers: [dirResolver({ srcAlias: '@' }), ElementPlusResolver()]
}),
Components({
dts: 'src/components.d.ts',
resolvers: [ElementPlusResolver()]
})
],
base: './',
resolve: {
alias: {
'@/': `${resolve(__dirname, 'src')}/`
}
},
server: {
host: '0.0.0.0',
port: Number(loadEnv(mode, process.cwd()).VITE_APP_PORT),
open: false,
https: false,
strictPort: true,
proxy: {
'/api': {
target: loadEnv(mode, process.cwd()).VITE_RE_BASE_URL,
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/api/, '')
}
},
hmr: {
overlay: false
}
}
})
}