vite.config.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import vueDevTools from 'vite-plugin-vue-devtools'
  5. import AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  8. import Icons from 'unplugin-icons/vite'
  9. import IconsResolver from 'unplugin-icons/resolver'
  10. // https://vite.dev/config/
  11. export default defineConfig({
  12. plugins: [
  13. {
  14. "compilerOptions": {
  15. "types": ["node"]
  16. }
  17. },
  18. vue(),
  19. vueDevTools(),
  20. AutoImport({
  21. imports: ['vue'],
  22. resolvers: [
  23. ElementPlusResolver(),
  24. IconsResolver({
  25. prefix: 'Icon',
  26. }),
  27. ],
  28. eslintrc: { enabled: true },
  29. }),
  30. Components({
  31. resolvers: [
  32. ElementPlusResolver(),
  33. IconsResolver({
  34. enabledCollections: ['ep'],
  35. }),
  36. ],
  37. }),
  38. Icons({
  39. autoInstall: true,
  40. }),
  41. ],
  42. build: {
  43. rollupOptions: {
  44. output: {
  45. manualChunks: {
  46. vendor: ['vue', 'axios', 'element-plus'], // 将第三方库单独打包
  47. },
  48. },
  49. },
  50. },
  51. resolve: {
  52. alias: {
  53. '@': fileURLToPath(new URL('./src', import.meta.url))
  54. },
  55. },
  56. })