vite.config.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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:9000`;
  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. "/offlineResource": {
  31. target: ip,
  32. changeOrigin: true,
  33. rewrite: (path) => path.replace(/^\/offlineResource/, ""),
  34. },
  35. "/fusion": {
  36. target: ip,
  37. changeOrigin: true,
  38. rewrite: (path) => path.replace(/^\/api/, ""),
  39. },
  40. "/swkk": {
  41. target: `${ip}/`,
  42. changeOrigin: true,
  43. rewrite: (path) => path.replace(/^\/swkk/, ""),
  44. },
  45. "/oss": {
  46. target: `${ip}/`,
  47. changeOrigin: true,
  48. rewrite: (path) => path.replace(/^\/oss/, "/oss"),
  49. },
  50. "/laser": {
  51. target: `${ip}/`,
  52. changeOrigin: true,
  53. rewrite: (path) => path.replace(/^\/laser/, "/laser"),
  54. },
  55. "/laser-data": {
  56. target: `${ip}/`,
  57. changeOrigin: true,
  58. rewrite: (path) => path.replace(/^\/laser-data/, "/laser-data"),
  59. },
  60. "/fdkk": {
  61. target: `${ip}/`,
  62. changeOrigin: true,
  63. rewrite: (path) => path.replace(/^\/fdkk/, "/fdkk"),
  64. },
  65. "/service": {
  66. target: ip,
  67. changeOrigin: true,
  68. rewrite: (path) => path.replace(/^\/service/, "/service"),
  69. },
  70. "/swss": {
  71. target: `${ip}/mega`,
  72. changeOrigin: true,
  73. rewrite: (path) => path.replace(/^\/swss/, ""),
  74. },
  75. };
  76. let app = "index";
  77. if (process.argv.length > 3) {
  78. app = process.argv[process.argv.length - 1].trim();
  79. }
  80. // https://vitejs.dev/config/
  81. export default async ({ mode }) => {
  82. const input: { [key in string]: string } = {}
  83. if (process.argv.includes('lang')) {
  84. await createLangServer(langProt)
  85. input.lang = resolve(__dirname, 'lang.html')
  86. } else {
  87. input[app] = resolve(__dirname, `${app}.html`)
  88. }
  89. console.log(input)
  90. return {
  91. build: {
  92. rollupOptions: {
  93. input,
  94. },
  95. },
  96. plugins: [
  97. vue(),
  98. // mkcert()
  99. ],
  100. css: {
  101. preprocessorOptions: {
  102. less: {
  103. javascriptEnabled: true,
  104. },
  105. },
  106. },
  107. base: "./",
  108. assetsInclude: ["public/**/*"],
  109. resolve: {
  110. extensions: [".js", ".ts", ".json", ".vue"],
  111. alias: [
  112. {
  113. find: "@",
  114. replacement: resolve(__dirname, "./src"),
  115. },
  116. {
  117. find: "bill",
  118. replacement: resolve(__dirname, "./src/components/bill-ui"),
  119. },
  120. ],
  121. },
  122. server: {
  123. host: "0.0.0.0",
  124. port: 7173,
  125. // open: true,
  126. proxy: proxy,
  127. // https: true,
  128. },
  129. preview: {
  130. proxy,
  131. },
  132. };
  133. };