vite.config.ts 1.6 KB

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