vite.config.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { URL, fileURLToPath } from 'node:url'
  2. import { defineConfig, loadEnv } 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(({ mode }) => {
  13. // eslint-disable-next-line n/prefer-global/process
  14. const env = loadEnv(mode, process.cwd(), '')
  15. return {
  16. base: './',
  17. resolve: {
  18. alias: {
  19. '@': fileURLToPath(new URL('./src', import.meta.url)),
  20. },
  21. extensions: [
  22. '.mjs',
  23. '.js',
  24. '.ts',
  25. '.jsx',
  26. '.tsx',
  27. '.json',
  28. '.vue',
  29. '.less',
  30. ],
  31. },
  32. plugins: [
  33. vue({
  34. script: {
  35. defineModel: true,
  36. },
  37. }),
  38. vueJsx(),
  39. vitePluginBuildId(),
  40. svgLoader(),
  41. Components({
  42. resolvers: [AntDesignVueResolver({ importStyle: false })],
  43. directoryAsNamespace: true,
  44. }),
  45. AutoImport({
  46. imports: ['vue', 'vue-router', 'pinia'],
  47. vueTemplate: true,
  48. }),
  49. DefineOptions(),
  50. ],
  51. css: {
  52. preprocessorOptions: {
  53. less: {
  54. modifyVars: {
  55. 'border-radius-base': '5px',
  56. },
  57. javascriptEnabled: true,
  58. },
  59. },
  60. },
  61. server: {
  62. proxy: {
  63. '/api': {
  64. target: env.VITE_PROXY_TARGET || 'http://localhost:9000',
  65. changeOrigin: true,
  66. secure: false,
  67. ws: true,
  68. },
  69. },
  70. },
  71. build: {
  72. chunkSizeWarningLimit: 1000,
  73. },
  74. }
  75. })