vite.config.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import path from 'path'
  4. import WindiCss from 'vite-plugin-windicss';
  5. import AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import Icons from 'unplugin-icons/vite'
  8. import IconsResolver from 'unplugin-icons/resolver'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. // https://vitejs.dev/config/
  11. export default defineConfig({
  12. resolve: {
  13. alias: {
  14. '@': path.resolve(__dirname, 'src'),
  15. '~': path.resolve(__dirname, 'src'),
  16. // '~components': path.resolve(__dirname, 'src/components'),
  17. // '~pages': path.resolve(__dirname, 'src/pages'),
  18. // '~utils': path.resolve(__dirname, 'src/utils'),
  19. // '~assets': path.resolve(__dirname, 'src/assets'),
  20. // '~styles': path.resolve(__dirname, 'src/styles'),
  21. // '~lib': path.resolve(__dirname, 'src/lib'),
  22. // '~plugins': path.resolve(__dirname, 'src/plugins'),
  23. // '~router': path.resolve(__dirname, 'src/router'),
  24. // '~store': path.resolve(__dirname, 'src/store'),
  25. // '~config': path.resolve(__dirname, 'src/config'),
  26. // '~api': path.resolve(__dirname, 'src/api'),
  27. // '~constants': path.resolve(__dirname, 'src/constants'),
  28. // '~locales': path.resolve(__dirname, 'src/locales'),
  29. }
  30. },
  31. plugins: [
  32. vue({
  33. reactivityTransform: true
  34. }),
  35. WindiCss(),
  36. AutoImport({
  37. dts: 'src/auto-imports.d.ts',
  38. imports: ['vue', 'vue/macros', 'vue-router',],
  39. dirs: [
  40. 'src/composables',
  41. 'src/store',
  42. 'src/utils',
  43. ],
  44. resolvers: [
  45. ElementPlusResolver(),
  46. ],
  47. vueTemplate: true,
  48. }),
  49. Components({
  50. dts: 'src/components.d.ts',
  51. dirs: ['src/components/'],
  52. // allow auto load markdown components under `./src/components/`
  53. extensions: ['vue', 'md'],
  54. // allow auto import and register components used in markdown
  55. include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
  56. resolvers: [IconsResolver(), ElementPlusResolver()],
  57. }),
  58. Icons({
  59. compiler: 'vue3',
  60. autoInstall: true,
  61. })
  62. ],
  63. server: {
  64. host: true
  65. },
  66. build: {
  67. assetsInlineLimit: 1024 * 1000,
  68. rollupOptions: {
  69. output: {
  70. manualChunks: {
  71. axios: ['axios'],
  72. }
  73. }
  74. }
  75. }
  76. })