vite.config.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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 { lazyImport, VxeResolver } from 'vite-plugin-lazy-import';
  12. import vueDevTools from 'vite-plugin-vue-devtools';
  13. const dts = `./@types/` as const;
  14. // https://vitejs.dev/config/
  15. export default defineConfig((configEnv) => {
  16. const envDir = './.env';
  17. const env = loadEnv(configEnv.mode, envDir, 'REQUEST_');
  18. return {
  19. envDir,
  20. envPrefix: 'SIX_',
  21. define: {
  22. __APP_VERSION__: JSON.stringify(process.env.npm_package_version),
  23. },
  24. plugins: [
  25. VueRouter({
  26. routesFolder: [
  27. 'src/pages',
  28. ],
  29. dts: `${ dts }typed-router.d.ts`,
  30. }),
  31. vue(),
  32. vueJsx(),
  33. vueDevTools(),
  34. UnoCSS(),
  35. AutoImport({
  36. imports: [
  37. 'vue',
  38. VueRouterAutoImports,
  39. ],
  40. dts: `${ dts }auto-imports.d.ts`,
  41. }),
  42. Components({
  43. resolvers: [
  44. AntDesignVueResolver({
  45. importStyle: false,
  46. }),
  47. ],
  48. dts: `${ dts }components.d.ts`,
  49. }),
  50. lazyImport({
  51. resolvers: [
  52. VxeResolver({
  53. libraryName: 'vxe-table',
  54. importStyle: 'scss' as any,
  55. }),
  56. VxeResolver({
  57. libraryName: 'vxe-pc-ui',
  58. importStyle: 'scss' as any,
  59. }),
  60. ],
  61. }),
  62. ],
  63. resolve: {
  64. alias: {
  65. '@': fileURLToPath(new URL('./src', import.meta.url)),
  66. },
  67. },
  68. server: {
  69. host: true,
  70. open: true,
  71. proxy: {
  72. '/manager': {
  73. target: 'https://wx.hzliuzhi.com:4433',
  74. secure: false,
  75. changeOrigin: true,
  76. logLevel: 'debug',
  77. },
  78. },
  79. },
  80. };
  81. });