vite.config.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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 { createServer as createLangServer } from "./scripts/lang";
  6. import { resolve } from "path";
  7. const langProt = 7072;
  8. const ip = `http://192.168.0.62:8808`;
  9. const proxy = {
  10. "/dev": {
  11. target: `http://localhost:${langProt}`,
  12. changeOrigin: true,
  13. rewrite: (path) => path.replace(/^\/dev/, "/dev"),
  14. },
  15. "/offlineData": {
  16. target: "http://192.168.0.43:9000/",
  17. changeOrigin: true,
  18. rewrite: (path) => path.replace(/^\/offlineData/, ""),
  19. },
  20. "/fusion/ws": {
  21. target: "wss://test-mix3d.4dkankan.com/",
  22. ws: true,
  23. rewriteWsOrigin: true,
  24. },
  25. "/local": {
  26. target: "http://192.168.0.38:8808",
  27. changeOrigin: true,
  28. rewrite: (path) => path.replace(/^\/local/, ""),
  29. },
  30. "/fusion": {
  31. target: ip,
  32. changeOrigin: true,
  33. rewrite: (path) => path.replace(/^\/api/, ""),
  34. },
  35. "/swkk": {
  36. target: `${ip}/`,
  37. changeOrigin: true,
  38. rewrite: (path) => path.replace(/^\/swkk/, ""),
  39. },
  40. "/oss": {
  41. target: `${ip}/`,
  42. changeOrigin: true,
  43. rewrite: (path) => path.replace(/^\/oss/, "/oss"),
  44. },
  45. "/laser": {
  46. target: `${ip}/`,
  47. changeOrigin: true,
  48. rewrite: (path) => path.replace(/^\/laser/, "/laser"),
  49. },
  50. "/laser-data": {
  51. target: `${ip}/`,
  52. changeOrigin: true,
  53. rewrite: (path) => path.replace(/^\/laser-data/, "/laser-data"),
  54. },
  55. "/fdkk": {
  56. target: `${ip}/`,
  57. changeOrigin: true,
  58. rewrite: (path) => path.replace(/^\/fdkk/, "/fdkk"),
  59. },
  60. "/service": {
  61. target: ip,
  62. changeOrigin: true,
  63. rewrite: (path) => path.replace(/^\/service/, "/service"),
  64. },
  65. "/swss": {
  66. target: `${ip}/mega`,
  67. changeOrigin: true,
  68. rewrite: (path) => path.replace(/^\/swss/, ""),
  69. },
  70. };
  71. let app = "index";
  72. if (process.argv.length > 3) {
  73. app = process.argv[process.argv.length - 1].trim();
  74. }
  75. // https://vitejs.dev/config/
  76. export default async ({ mode }) => {
  77. const input: { [key in string]: string } = {}
  78. if (process.argv.includes('lang')) {
  79. await createLangServer(langProt)
  80. input.lang = resolve(__dirname, 'lang.html')
  81. } else {
  82. input[app] = resolve(__dirname, `${app}.html`)
  83. }
  84. console.log(input)
  85. return {
  86. build: {
  87. rollupOptions: {
  88. input,
  89. },
  90. },
  91. plugins: [
  92. vue(),
  93. // mkcert()
  94. ],
  95. css: {
  96. preprocessorOptions: {
  97. less: {
  98. javascriptEnabled: true,
  99. },
  100. },
  101. },
  102. base: "./",
  103. assetsInclude: ["public/**/*"],
  104. resolve: {
  105. extensions: [".js", ".ts", ".json", ".vue"],
  106. alias: [
  107. {
  108. find: "@",
  109. replacement: resolve(__dirname, "./src"),
  110. },
  111. {
  112. find: "bill",
  113. replacement: resolve(__dirname, "./src/components/bill-ui"),
  114. },
  115. ],
  116. },
  117. server: {
  118. host: "0.0.0.0",
  119. port: 7173,
  120. // open: true,
  121. proxy: proxy,
  122. // https: true,
  123. },
  124. preview: {
  125. proxy,
  126. },
  127. };
  128. };