vite.config.js 2.2 KB

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