vite.config.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import path from 'path'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  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. base: '/jsc/',
  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. vueTemplate: true,
  46. eslintrc: {
  47. enabled: true,
  48. // enabled: false, // Default `false`
  49. // filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
  50. // globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
  51. },
  52. }),
  53. Components({
  54. // dts: 'src/components.d.ts',
  55. dirs: ['src/components/'],
  56. // allow auto load markdown components under `./src/components/`
  57. extensions: ['vue', 'md'],
  58. // allow auto import and register components used in markdown
  59. include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
  60. resolvers: [IconsResolver()],
  61. }),
  62. Icons({
  63. compiler: 'vue3',
  64. autoInstall: true,
  65. }),
  66. ],
  67. server: {
  68. host: true,
  69. },
  70. build: {
  71. rollupOptions: {
  72. output: {
  73. manualChunks: {
  74. axios: ['axios'],
  75. echarts: ['echarts'],
  76. },
  77. },
  78. },
  79. },
  80. })