vite.config.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import vue from '@vitejs/plugin-vue';
  2. import vueJsx from '@vitejs/plugin-vue-jsx';
  3. import { fileURLToPath, URL } from 'node:url';
  4. import UnoCSS from 'unocss/vite';
  5. import AutoImport from 'unplugin-auto-import/vite';
  6. import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
  7. import Components from 'unplugin-vue-components/vite';
  8. import { VueRouterAutoImports } from 'unplugin-vue-router';
  9. import VueRouter from 'unplugin-vue-router/vite';
  10. import { defineConfig, loadEnv } from 'vite';
  11. import vueDevTools from 'vite-plugin-vue-devtools';
  12. const dts = `./@types/` as const;
  13. // https://vitejs.dev/config/
  14. export default defineConfig((configEnv) => {
  15. const envDir = './.env';
  16. const env = loadEnv(configEnv.mode, envDir, 'REQUEST_');
  17. return {
  18. envDir,
  19. envPrefix: 'SIX_',
  20. plugins: [
  21. VueRouter({
  22. routesFolder: [
  23. 'src/pages',
  24. ],
  25. dts: `${ dts }typed-router.d.ts`,
  26. }),
  27. vue(),
  28. vueJsx(),
  29. vueDevTools(),
  30. UnoCSS(),
  31. AutoImport({
  32. imports: [
  33. 'vue',
  34. VueRouterAutoImports,
  35. ],
  36. dts: `${ dts }auto-imports.d.ts`,
  37. }),
  38. Components({
  39. resolvers: [
  40. AntDesignVueResolver({
  41. importStyle: false,
  42. }),
  43. ],
  44. dts: `${ dts }components.d.ts`,
  45. }),
  46. ],
  47. resolve: {
  48. alias: {
  49. '@': fileURLToPath(new URL('./src', import.meta.url)),
  50. },
  51. },
  52. server:{
  53. host: true,
  54. open: true,
  55. proxy: {
  56. '/prod-api': {
  57. target: env.REQUEST_API_PROXY_URL,
  58. secure: false,
  59. changeOrigin: false,
  60. logLevel: 'debug',
  61. },
  62. },
  63. }
  64. };
  65. });