vite.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import {defineConfig} from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import {resolve} from "path";
  4. import { chunkSplitPlugin } from 'vite-plugin-chunk-split';
  5. import config from "./src/config";
  6. // https://vitejs.dev/config/
  7. export default defineConfig({
  8. css: {
  9. preprocessorOptions: {
  10. scss: {
  11. additionalData: `@import "./src/styles/app/_var.scss";`
  12. }
  13. }
  14. },
  15. resolve: {
  16. alias: {
  17. '~src': `${resolve(__dirname, './src')}`,
  18. '~ass': resolve(__dirname, './src/assets'),
  19. '~com': `${resolve(__dirname, './src/components')}`,
  20. '~api': resolve(__dirname, './src/api/modules'),
  21. '~sto': resolve(__dirname, './src/store/modules'),
  22. '~uti': resolve(__dirname, './src/utils')
  23. }
  24. },
  25. plugins: [
  26. vue(),
  27. chunkSplitPlugin({
  28. strategy: 'unbundle'
  29. })
  30. ],
  31. server: {
  32. ...config.vite,
  33. proxy: {
  34. '/api': {
  35. ws: true,
  36. changeOrigin: true,
  37. target: config.target,
  38. rewrite: (path) => path.replace(new RegExp('^/api'), '/'),
  39. }
  40. }
  41. },
  42. })