vite.config.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import vue from '@vitejs/plugin-vue'
  2. import path from 'path'
  3. import AutoImport from 'unplugin-auto-import/vite'
  4. import IconsResolver from 'unplugin-icons/resolver'
  5. import Icons from 'unplugin-icons/vite'
  6. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  7. import Components from 'unplugin-vue-components/vite'
  8. import { defineConfig } from 'vite'
  9. import WindiCss from 'vite-plugin-windicss'
  10. import ConditionalCompile from './plugins/vite-plugin-conditional-compile'
  11. // https://vitejs.dev/config/
  12. export default defineConfig({
  13. resolve: {
  14. alias: {
  15. '@': path.resolve(__dirname, 'src'),
  16. '~': path.resolve(__dirname, 'src'),
  17. // '~components': path.resolve(__dirname, 'src/components'),
  18. // '~pages': path.resolve(__dirname, 'src/pages'),
  19. // '~utils': path.resolve(__dirname, 'src/utils'),
  20. // '~assets': path.resolve(__dirname, 'src/assets'),
  21. // '~styles': path.resolve(__dirname, 'src/styles'),
  22. // '~lib': path.resolve(__dirname, 'src/lib'),
  23. // '~plugins': path.resolve(__dirname, 'src/plugins'),
  24. // '~router': path.resolve(__dirname, 'src/router'),
  25. // '~store': path.resolve(__dirname, 'src/store'),
  26. // '~config': path.resolve(__dirname, 'src/config'),
  27. // '~api': path.resolve(__dirname, 'src/api'),
  28. // '~constants': path.resolve(__dirname, 'src/constants'),
  29. // '~locales': path.resolve(__dirname, 'src/locales'),
  30. },
  31. },
  32. css: {
  33. preprocessorOptions: {
  34. scss: {
  35. additionalData: '@use "./element.scss" as *;',
  36. },
  37. },
  38. },
  39. plugins: [
  40. ConditionalCompile(),
  41. vue({
  42. reactivityTransform: true,
  43. }),
  44. WindiCss(),
  45. AutoImport({
  46. // dts: 'src/auto-imports.d.ts',
  47. imports: ['vue', 'vue/macros', 'vue-router'],
  48. dirs: [
  49. 'src/composables',
  50. // 'src/store',
  51. 'src/utils',
  52. ],
  53. resolvers: [ElementPlusResolver()],
  54. vueTemplate: true,
  55. eslintrc: {
  56. enabled: true,
  57. // enabled: false, // Default `false`
  58. // filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
  59. // globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
  60. },
  61. }),
  62. Components({
  63. // dts: 'src/components.d.ts',
  64. dirs: ['src/components/'],
  65. // allow auto load markdown components under `./src/components/`
  66. extensions: ['vue', 'md'],
  67. // allow auto import and register components used in markdown
  68. include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
  69. resolvers: [ElementPlusResolver({ importStyle: 'sass' }), IconsResolver()],
  70. }),
  71. Icons({
  72. compiler: 'vue3',
  73. autoInstall: true,
  74. }),
  75. ],
  76. server: {
  77. host: true,
  78. port: 5230
  79. },
  80. build: {
  81. // rollupOptions: {
  82. // output: {
  83. // manualChunks: {
  84. // axios: ['axios'],
  85. // },
  86. // },
  87. // },
  88. },
  89. base: '/page/wrong_analysis',
  90. })