vite.config.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { URL, fileURLToPath } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import Components from 'unplugin-vue-components/vite'
  5. import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
  6. import vueJsx from '@vitejs/plugin-vue-jsx'
  7. import vitePluginBuildId from 'vite-plugin-build-id'
  8. import svgLoader from 'vite-svg-loader'
  9. import AutoImport from 'unplugin-auto-import/vite'
  10. import DefineOptions from 'unplugin-vue-define-options/vite'
  11. // https://vitejs.dev/config/
  12. export default defineConfig({
  13. base: './',
  14. resolve: {
  15. alias: {
  16. '@': fileURLToPath(new URL('./src', import.meta.url)),
  17. },
  18. extensions: [
  19. '.mjs',
  20. '.js',
  21. '.ts',
  22. '.jsx',
  23. '.tsx',
  24. '.json',
  25. '.vue',
  26. '.less',
  27. ],
  28. },
  29. plugins: [
  30. vue(),
  31. vueJsx(),
  32. vitePluginBuildId(),
  33. svgLoader(),
  34. Components({
  35. resolvers: [AntDesignVueResolver({ importStyle: false })],
  36. directoryAsNamespace: true,
  37. }),
  38. AutoImport({
  39. imports: ['vue', 'vue-router', 'pinia'],
  40. vueTemplate: true,
  41. }),
  42. DefineOptions(),
  43. ],
  44. css: {
  45. preprocessorOptions: {
  46. less: {
  47. modifyVars: {
  48. 'border-radius-base': '5px',
  49. },
  50. javascriptEnabled: true,
  51. },
  52. },
  53. },
  54. server: {
  55. proxy: {
  56. '/api': {
  57. target: 'http://127.0.0.1:9001/',
  58. changeOrigin: true,
  59. secure: false,
  60. ws: true,
  61. },
  62. },
  63. },
  64. build: {
  65. chunkSizeWarningLimit: 1000,
  66. },
  67. })