vite.config.base.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { resolve } from 'path';
  2. import { defineConfig } from 'vite';
  3. import vue from '@vitejs/plugin-vue';
  4. import svgLoader from 'vite-svg-loader';
  5. // eslint-disable-next-line import/no-unresolved
  6. import AutoImport from 'unplugin-auto-import/vite';
  7. import Components from 'unplugin-vue-components/vite';
  8. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
  9. export default defineConfig({
  10. plugins: [
  11. vue(),
  12. svgLoader({ svgoConfig: {} }),
  13. AutoImport({
  14. resolvers: [ElementPlusResolver()],
  15. }),
  16. Components({
  17. resolvers: [ElementPlusResolver()],
  18. }),
  19. ],
  20. resolve: {
  21. alias: [
  22. {
  23. find: '@',
  24. replacement: resolve(__dirname, '../src'),
  25. },
  26. {
  27. find: 'assets',
  28. replacement: resolve(__dirname, '../src/assets'),
  29. },
  30. {
  31. find: 'vue',
  32. replacement: 'vue/dist/vue.esm-bundler.js', // compile template
  33. },
  34. ],
  35. extensions: ['.ts', '.js'],
  36. },
  37. define: {
  38. 'process.env': {},
  39. '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': false,
  40. },
  41. css: {
  42. preprocessorOptions: {
  43. less: {
  44. modifyVars: {
  45. hack: `true; @import (reference) "${resolve(
  46. 'src/assets/style/var.less'
  47. )}";`,
  48. },
  49. javascriptEnabled: true,
  50. },
  51. },
  52. },
  53. });