vite.config.base.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { resolve } from 'path';
  2. import { defineConfig } from 'vite';
  3. import vue from '@vitejs/plugin-vue';
  4. import vueJsx from '@vitejs/plugin-vue-jsx';
  5. import svgLoader from 'vite-svg-loader';
  6. import configArcoStyleImportPlugin from './plugin/arcoStyleImport';
  7. export default defineConfig({
  8. plugins: [
  9. vue(),
  10. vueJsx(),
  11. svgLoader({ svgoConfig: {} }),
  12. configArcoStyleImportPlugin(),
  13. ],
  14. resolve: {
  15. alias: [
  16. {
  17. find: '@',
  18. replacement: resolve(__dirname, '../src'),
  19. },
  20. {
  21. find: 'assets',
  22. replacement: resolve(__dirname, '../src/assets'),
  23. },
  24. {
  25. find: 'vue-i18n',
  26. replacement: 'vue-i18n/dist/vue-i18n.cjs.js', // Resolve the i18n warning issue
  27. },
  28. {
  29. find: 'vue',
  30. replacement: 'vue/dist/vue.esm-bundler.js', // compile template
  31. },
  32. ],
  33. extensions: ['.ts', '.js'],
  34. },
  35. define: {
  36. 'process.env': {},
  37. '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': false,
  38. },
  39. css: {
  40. preprocessorOptions: {
  41. less: {
  42. modifyVars: {
  43. hack: `true; @import (reference) "${resolve(
  44. 'src/assets/style/breakpoint.less'
  45. )}";`,
  46. },
  47. javascriptEnabled: true,
  48. },
  49. },
  50. },
  51. });