vite.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { fileURLToPath, URL } from 'node:url'
  2. import path from 'path'
  3. import { defineConfig } from 'vite'
  4. import vue from '@vitejs/plugin-vue'
  5. import vueJsx from '@vitejs/plugin-vue-jsx'
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import Components from 'unplugin-vue-components/vite'
  8. import DefineOptions from 'unplugin-vue-define-options/vite'
  9. import Icons from 'unplugin-icons/vite'
  10. import IconsResolver from 'unplugin-icons/resolver'
  11. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  12. import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
  13. import Unocss from 'unocss/vite'
  14. // https://vitejs.dev/config/
  15. export default defineConfig({
  16. plugins: [
  17. vue(),
  18. vueJsx(),
  19. Unocss(),
  20. DefineOptions(),
  21. AutoImport({
  22. imports: ['vue', 'vue-router', 'pinia', '@vueuse/core'],
  23. dts: 'src/auto-import.d.ts'
  24. }),
  25. Components({
  26. dirs: ['src/components'],
  27. extensions: ['vue'],
  28. dts: 'src/components.d.ts'
  29. }),
  30. createSvgIconsPlugin({
  31. iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')],
  32. symbolId: 'icon-[dir]-[name]'
  33. })
  34. ],
  35. resolve: {
  36. alias: {
  37. '@': fileURLToPath(new URL('./src', import.meta.url))
  38. }
  39. },
  40. server: {
  41. proxy: {
  42. '/api': {
  43. target: 'http://10.8.8.57:30701/mbwb',
  44. changeOrigin: true
  45. }
  46. }
  47. },
  48. build: {
  49. terserOptions: {
  50. //打包后移除console和注释
  51. compress: {
  52. drop_console: true,
  53. drop_debugger: true
  54. }
  55. }
  56. }
  57. })