vite.config.ts 2.1 KB

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