vite.config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { defineConfig, loadEnv, type ConfigEnv, type UserConfig } from 'vite'
  2. import { initVitePlugins } from './plugins'
  3. import { initProxy } from './plugins/proxy'
  4. import { resolve } from 'path'
  5. import { wrapperEnv } from './getEnv'
  6. const pathSrc = resolve(__dirname, 'src')
  7. // https://vite.dev/config/
  8. export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
  9. const root = process.cwd()
  10. const env = loadEnv(mode, root)
  11. const viteEnv = wrapperEnv(env)
  12. return {
  13. server: {
  14. port: viteEnv.VITE_PORT,
  15. open: viteEnv.VITE_OPEN,
  16. proxy: initProxy(viteEnv.VITE_PROXY)
  17. },
  18. resolve: {
  19. alias: {
  20. '@': pathSrc
  21. }
  22. },
  23. plugins: initVitePlugins(viteEnv, command === 'build'),
  24. build: {
  25. outDir: 'dist',
  26. minify: 'esbuild',
  27. sourcemap: false
  28. },
  29. css: {
  30. preprocessorOptions: {
  31. scss: {
  32. additionalData: `@use "@/assets/styles/element/index.scss" as *;`
  33. }
  34. }
  35. },
  36. optimizeDeps: {
  37. include: ['vue', 'vue-router', 'pinia', 'axios', '@vueuse/core', 'element-plus', '@element-plus/icons-vue']
  38. }
  39. }
  40. })