vite.config.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { defineConfig } from 'vite';
  2. import vue from '@vitejs/plugin-vue';
  3. import { resolve } from 'path';
  4. // const target = 'http://192.168.2.28:10010';
  5. // const target = 'http://192.168.2.17:10010';
  6. const target = "http://127.0.0.1:10010";
  7. // const target = "http://192.168.2.178:10010";
  8. // const target = 'http://47.101.180.183:10010';
  9. export default defineConfig({
  10. plugins: [vue()],
  11. server: {
  12. host: '0.0.0.0',
  13. port: 19123,
  14. open: true,
  15. proxy: {
  16. '/api': {
  17. // 这里的'/api'表示需要转发到的接口路径前缀
  18. target, // 将请求转发到的目标地址
  19. changeOrigin: true, // 支持跨域
  20. rewrite: (path) => path.replace(/^\/api/, '') // 去除请求路径中的'/api'前缀
  21. }
  22. }
  23. },
  24. resolve: {
  25. alias: {
  26. '@': resolve(__dirname, './src')
  27. },
  28. extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
  29. },
  30. css: {
  31. preprocessorOptions: {
  32. scss: {
  33. // additionalData: '@import "@/styles/global.scss";'
  34. additionalData: '@use "@/styles/global.scss" as *;', // 使用 @use 语法
  35. api: "modern-compiler"
  36. }
  37. }
  38. },
  39. build: {
  40. rollupOptions: {
  41. output: {
  42. entryFileNames: `assets/[name].${new Date().getTime()}.js`,
  43. chunkFileNames: `assets/[name].${new Date().getTime()}.js`,
  44. assetFileNames: `assets/[name].${new Date().getTime()}.[ext]`,
  45. compact: true,
  46. manualChunks: {
  47. vue: ['vue', 'vue-router', 'vuex'],
  48. echarts: ['echarts']
  49. }
  50. }
  51. }
  52. }
  53. });