vite.config.ts 1.7 KB

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