vite.config.ts 2.3 KB

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