vite.config.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. }
  35. }
  36. },
  37. build: {
  38. rollupOptions: {
  39. output: {
  40. entryFileNames: `assets/[name].${new Date().getTime()}.js`,
  41. chunkFileNames: `assets/[name].${new Date().getTime()}.js`,
  42. assetFileNames: `assets/[name].${new Date().getTime()}.[ext]`,
  43. compact: true,
  44. manualChunks: {
  45. vue: ['vue', 'vue-router', 'vuex'],
  46. echarts: ['echarts']
  47. }
  48. }
  49. }
  50. }
  51. });