vite.config.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import config from './config.js'
  4. import mkcert from 'vite-plugin-mkcert'
  5. import { resolve } from 'path'
  6. const proxy = {
  7. '/fusion/ws': {
  8. target: 'wss://test-mix3d.4dkankan.com/',
  9. ws: true,
  10. rewriteWsOrigin: true,
  11. },
  12. '/local': {
  13. target: 'http://192.168.0.38:8808',
  14. changeOrigin: true,
  15. rewrite: path => path.replace(/^\/local/, '')
  16. },
  17. '/fusion': {
  18. target: config.dev ? 'https://test-mix3d.4dkankan.com' : 'https://mix3d.4dkankan.com',
  19. changeOrigin: true,
  20. rewrite: path => path.replace(/^\/api/, '')
  21. },
  22. '/swkk': {
  23. target: config.dev ? 'https://test.4dkankan.com' : 'https://www.4dkankan.com',
  24. changeOrigin: true,
  25. rewrite: path => path.replace(/^\/swkk/, '')
  26. },
  27. '/service': {
  28. target: config.dev ? 'https://test.4dkankan.com' : 'https://www.4dkankan.com',
  29. changeOrigin: true,
  30. },
  31. '/swss': {
  32. target: config.dev ? 'https://uat-laser.4dkankan.com/uat' : 'https://laser.4dkankan.com',
  33. changeOrigin: true,
  34. rewrite: path => path.replace(/^\/swss/, '')
  35. },
  36. '/laser': {
  37. target: config.dev ? 'https://uat-laser.4dkankan.com' : 'https://laser.4dkankan.com',
  38. changeOrigin: true,
  39. rewrite: path => path.replace(/^\/laser/, '/laser')
  40. }
  41. }
  42. let app = "index";
  43. if (process.argv.length > 3) {
  44. app = process.argv[process.argv.length - 1].trim();
  45. }
  46. const input = {
  47. [app]: resolve(__dirname, `${app}.html`),
  48. }
  49. // https://vitejs.dev/config/
  50. export default defineConfig({
  51. build: {
  52. rollupOptions: {
  53. input
  54. },
  55. },
  56. plugins: [vue(), mkcert() ],
  57. css: {
  58. preprocessorOptions: {
  59. less: {
  60. javascriptEnabled: true
  61. }
  62. }
  63. },
  64. base: './',
  65. assetsInclude: ['public/**/*'],
  66. resolve: {
  67. extensions: ['.js', '.ts', '.json', '.vue'],
  68. alias: [
  69. {
  70. find: '@',
  71. replacement: resolve(__dirname, './src')
  72. },
  73. {
  74. find: 'bill',
  75. replacement: resolve(__dirname, './src/components/bill-ui')
  76. }
  77. ]
  78. },
  79. server: {
  80. host: '0.0.0.0',
  81. port: 7173,
  82. open: true,
  83. proxy: proxy,
  84. https: true
  85. },
  86. preview: {
  87. proxy
  88. }
  89. })