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. base: './',
  9. plugins: [
  10. vue(),
  11. vueJsx(),
  12. svgLoader({ svgoConfig: {} }),
  13. configArcoStyleImportPlugin(),
  14. ],
  15. resolve: {
  16. alias: [
  17. {
  18. find: '@',
  19. replacement: resolve(__dirname, '../src'),
  20. },
  21. {
  22. find: 'assets',
  23. replacement: resolve(__dirname, '../src/assets'),
  24. },
  25. {
  26. find: 'vue-i18n',
  27. replacement: 'vue-i18n/dist/vue-i18n.cjs.js', // Resolve the i18n warning issue
  28. },
  29. {
  30. find: 'vue',
  31. replacement: 'vue/dist/vue.esm-bundler.js', // compile template
  32. },
  33. ],
  34. extensions: ['.ts', '.js'],
  35. },
  36. define: {
  37. 'process.env': {},
  38. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false,
  39. },
  40. css: {
  41. preprocessorOptions: {
  42. less: {
  43. modifyVars: {
  44. hack: `true; @import (reference) "${resolve(
  45. 'src/assets/style/breakpoint.less'
  46. )}";`,
  47. },
  48. javascriptEnabled: true,
  49. },
  50. },
  51. },
  52. });