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 = 8091;
  8. const ip = `http://192.168.0.25`;
  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. return {
  85. build: {
  86. rollupOptions: {
  87. input,
  88. },
  89. },
  90. plugins: [
  91. vue(),
  92. // mkcert()
  93. ],
  94. css: {
  95. preprocessorOptions: {
  96. less: {
  97. javascriptEnabled: true,
  98. },
  99. },
  100. },
  101. base: "./",
  102. assetsInclude: ["public/**/*"],
  103. resolve: {
  104. extensions: [".js", ".ts", ".json", ".vue"],
  105. alias: [
  106. {
  107. find: "@",
  108. replacement: resolve(__dirname, "./src"),
  109. },
  110. {
  111. find: "bill",
  112. replacement: resolve(__dirname, "./src/components/bill-ui"),
  113. },
  114. ],
  115. },
  116. server: {
  117. host: "0.0.0.0",
  118. port: 7173,
  119. // open: true,
  120. proxy: proxy,
  121. // https: true,
  122. },
  123. preview: {
  124. proxy,
  125. },
  126. };
  127. };