vite.config.mjs.timestamp-1740041871737-1c220ae27e9c.mjs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. // vite.config.mjs
  2. import { defineConfig } from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/vite/dist/node/index.js";
  3. import vue from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/@vitejs/plugin-vue/dist/index.mjs";
  4. import { visualizer } from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/rollup-plugin-visualizer/dist/plugin/index.js";
  5. import viteCompression from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/vite-plugin-compression/dist/index.mjs";
  6. import viteImagemin from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/vite-plugin-imagemin/dist/index.mjs";
  7. import AutoImport from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/unplugin-auto-import/dist/vite.js";
  8. import Components from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/unplugin-vue-components/dist/vite.js";
  9. import { ArcoResolver } from "file:///D:/hyWorkSpace/pro/smartai2dian0/node_modules/unplugin-vue-components/dist/resolvers.js";
  10. // scripts/vite-conf.js
  11. var config_compression = {
  12. verbose: true,
  13. // 是否在控制台中输出压缩结果
  14. disable: false,
  15. threshold: 10240,
  16. // 如果体积大于阈值,将被压缩,单位为b,体积过小时请不要压缩,以免适得其反
  17. algorithm: "gzip",
  18. // 压缩算法,可选['gzip',' brotliccompress ','deflate ','deflateRaw']
  19. ext: ".gz",
  20. deleteOriginFile: false
  21. // 源文件压缩后是否删除
  22. };
  23. var config_imagemin = {
  24. gifsicle: {
  25. optimizationLevel: 7,
  26. interlaced: false
  27. },
  28. optipng: {
  29. optimizationLevel: 7
  30. },
  31. mozjpeg: {
  32. quality: 20
  33. },
  34. pngquant: {
  35. quality: [0.8, 0.9],
  36. speed: 4
  37. },
  38. svgo: {
  39. plugins: [
  40. {
  41. name: "removeViewBox"
  42. },
  43. {
  44. name: "removeEmptyAttrs",
  45. active: false
  46. }
  47. ]
  48. }
  49. };
  50. // vite.config.mjs
  51. var vite_config_default = defineConfig(({ mode }) => {
  52. return {
  53. /**
  54. * 项目根目录
  55. * @see https://cn.vite.dev/config/shared-options.html#root
  56. */
  57. root: "./src",
  58. /**
  59. * 静态资源目录,相对于 src/index.html 文件
  60. * @see https://cn.vite.dev/config/shared-options.html#publicdir
  61. */
  62. publicDir: "../public",
  63. server: {
  64. port: 5173,
  65. host: "0.0.0.0",
  66. // IP配置,支持从IP启动
  67. proxy: {
  68. "/api/": {
  69. target: "http://smartai.com:8401",
  70. changeOrigin: true,
  71. secure: false,
  72. ws: true,
  73. cors: true,
  74. rewrite: (path) => path.replace(/^\/proxy_url/, "")
  75. },
  76. "/dify": {
  77. target: "http://192.168.20.119:28003/",
  78. changeOrigin: true,
  79. secure: false,
  80. ws: true,
  81. rewrite: (path) => path.replace(/^\/dify/, "")
  82. },
  83. "/rgflow": {
  84. target: "http://192.168.20.119:28002/",
  85. // target: 'http://smartai.com:8294/',
  86. changeOrigin: true,
  87. secure: false,
  88. ws: true,
  89. rewrite: (path) => path.replace(/^\/rgflow/, "")
  90. }
  91. }
  92. },
  93. build: {
  94. /**
  95. * 构建输出目录,相对于 src/index.html 文件
  96. * @see https://cn.vite.dev/config/build-options.html#build-outdir
  97. */
  98. outDir: "../dist",
  99. emptyOutDir: true,
  100. rollupOptions: {
  101. output: {
  102. manualChunks: {
  103. "vue-vendor": ["vue", "vue-router", "pinia"]
  104. }
  105. }
  106. },
  107. terserOptions: {
  108. output: {
  109. // 去掉注释内容
  110. comments: true
  111. }
  112. }
  113. },
  114. plugins: [
  115. vue(),
  116. // /**
  117. // * @see https://devtools.vuejs.org/guide/vite-plugin
  118. // */
  119. // vueDevTools({
  120. // launchEditor: 'code'
  121. // }),
  122. visualizer({ open: false }),
  123. viteCompression(config_compression),
  124. viteImagemin(config_imagemin),
  125. /**
  126. * 按需加载
  127. * @see https://arco.design/vue/docs/start#%E6%8C%89%E9%9C%80%E5%8A%A0%E8%BD%BD%EF%BC%88%E6%A8%A1%E6%9D%BF%EF%BC%89
  128. */
  129. AutoImport({
  130. resolvers: [ArcoResolver()]
  131. }),
  132. Components({
  133. resolvers: [
  134. ArcoResolver({
  135. sideEffect: true
  136. })
  137. ]
  138. })
  139. ]
  140. };
  141. });
  142. export {
  143. vite_config_default as default
  144. };
  145. //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubWpzIiwgInNjcmlwdHMvdml0ZS1jb25mLmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcaHlXb3JrU3BhY2VcXFxccHJvXFxcXHNtYXJ0YWkyZGlhbjBcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGh5V29ya1NwYWNlXFxcXHByb1xcXFxzbWFydGFpMmRpYW4wXFxcXHZpdGUuY29uZmlnLm1qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovaHlXb3JrU3BhY2UvcHJvL3NtYXJ0YWkyZGlhbjAvdml0ZS5jb25maWcubWpzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSc7XG5cbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJztcbi8vIGltcG9ydCB2dWVEZXZUb29scyBmcm9tICd2aXRlLXBsdWdpbi12dWUtZGV2dG9vbHMnO1xuaW1wb3J0IHsgdmlzdWFsaXplciB9IGZyb20gJ3JvbGx1cC1wbHVnaW4tdmlzdWFsaXplcic7XG5pbXBvcnQgdml0ZUNvbXByZXNzaW9uIGZyb20gJ3ZpdGUtcGx1Z2luLWNvbXByZXNzaW9uJztcbmltcG9ydCB2aXRlSW1hZ2VtaW4gZnJvbSAndml0ZS1wbHVnaW4taW1hZ2VtaW4nO1xuXG4vKipcbiAqIFx1NjMwOVx1OTcwMFx1NTJBMFx1OEY3RFxuICogQHNlZSBodHRwczovL2FyY28uZGVzaWduL3Z1ZS9kb2NzL3N0YXJ0IyVFNiU4QyU4OSVFOSU5QyU4MCVFNSU4QSVBMCVFOCVCRCVCRCVFRiVCQyU4OCVFNiVBOCVBMSVFNiU5RCVCRiVFRiVCQyU4OVxuICovXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJztcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnO1xuaW1wb3J0IHsgQXJjb1Jlc29sdmVyIH0gZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzJztcblxuaW1wb3J0IHsgY29uZmlnX2NvbXByZXNzaW9uLCBjb25maWdfaW1hZ2VtaW4gfSBmcm9tICcuL3NjcmlwdHMvdml0ZS1jb25mJztcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlIH0pID0+IHtcbiAgcmV0dXJuIHtcbiAgICAvKipcbiAgICAgKiBcdTk4NzlcdTc2RUVcdTY4MzlcdTc2RUVcdTVGNTVcbiAgICAgKiBAc2VlIGh0dHBzOi8vY24udml0ZS5kZXYvY29uZmlnL3NoYXJlZC1vcHRpb25zLmh0bWwjcm9vdFxuICAgICAqL1xuICAgIHJvb3Q6ICcuL3NyYycsXG4gICAgLyoqXG4gICAgICogXHU5NzU5XHU2MDAxXHU4RDQ0XHU2RTkwXHU3NkVFXHU1RjU1XHVGRjBDXHU3NkY4XHU1QkY5XHU0RThFIHNyYy9pbmRleC5odG1sIFx1NjU4N1x1NEVGNlxuICAgICAqIEBzZWUgaHR0cHM6Ly9jbi52aXRlLmRldi9jb25maWcvc2hhcmVkLW9wdGlvbnMuaHRtbCNwdWJsaWNkaXJcbiAgICAgKi9cbiAgICBwdWJsaWNEaXI6ICcuLi9wdWJsaWMnLFxuICAgIHNlcnZlcjoge1xuICAgICAgcG9ydDogNTE3MyxcbiAgICAgIGhvc3Q6ICcwLjAuMC4wJywgLy8gSVBcdTkxNERcdTdGNkVcdUZGMENcdTY1MkZcdTYzMDFcdTRFQ0VJUFx1NTQyRlx1NTJBOFxuICAgICAgcHJveHk6IHtcbiAgICAgICAgJy9hcGkvJzoge1xuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9zbWFydGFpLmNvbTo4NDAxJyxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgc2VjdXJlOiBmYWxzZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICBjb3JzOiB0cnVlLFxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UoL15cXC9wcm94eV91cmwvLCAnJylcbiAgICAgICAgfSxcblxuICAgICAgICAnL2RpZnknOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMjAuMTE5OjI4MDAzLycsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgIHNlY3VyZTogZmFsc2UsXG4gICAgICAgICAgd3M6IHRydWUsXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZSgvXlxcL2RpZnkvLCAnJylcbiAgICAgICAgfSxcbiAgICAgICAgJy9yZ2Zsb3cnOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMjAuMTE5OjI4MDAyLycsXG4gICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovL3NtYXJ0YWkuY29tOjgyOTQvJyxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgc2VjdXJlOiBmYWxzZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKC9eXFwvcmdmbG93LywgJycpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGJ1aWxkOiB7XG4gICAgICAvKipcbiAgICAgICAqIFx1Njc4NFx1NUVGQVx1OEY5M1x1NTFGQVx1NzZFRVx1NUY1NVx1RkYwQ1x1NzZGOFx1NUJGOVx1NEU4RSBzcmMvaW5kZXguaHRtbCBcdTY1ODdcdTRFRjZcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly9jbi52aXRlLmRldi9jb25maWcvYnVpbGQtb3B0aW9ucy5odG1sI2J1aWxkLW91dGRpclxuICAgICAgICovXG4gICAgICBvdXREaXI6ICcuLi9kaXN0JyxcblxuICAgICAgZW1wdHlPdXREaXI6IHRydWUsXG4gICAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIG1hbnVhbENodW5rczoge1xuICAgICAgICAgICAgJ3Z1ZS12ZW5kb3InOiBbJ3Z1ZScsICd2dWUtcm91dGVyJywgJ3BpbmlhJ11cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0ZXJzZXJPcHRpb25zOiB7XG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIC8vIFx1NTNCQlx1NjM4OVx1NkNFOFx1OTFDQVx1NTE4NVx1NUJCOVxuICAgICAgICAgIGNvbW1lbnRzOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIHZ1ZSgpLFxuICAgICAgLy8gLyoqXG4gICAgICAvLyAgKiBAc2VlIGh0dHBzOi8vZGV2dG9vbHMudnVlanMub3JnL2d1aWRlL3ZpdGUtcGx1Z2luXG4gICAgICAvLyAgKi9cbiAgICAgIC8vIHZ1ZURldlRvb2xzKHtcbiAgICAgIC8vICAgbGF1bmNoRWRpdG9yOiAnY29kZSdcbiAgICAgIC8vIH0pLFxuICAgICAgdmlzdWFsaXplcih7IG9wZW46IGZhbHNlIH0pLFxuICAgICAgdml0ZUNvbXByZXNzaW9uKGNvbmZpZ19jb21wcmVzc2lvbiksXG4gICAgICB2aXRlSW1hZ2VtaW4oY29uZmlnX2ltYWdlbWluKSxcblxuICAgICAgLyoqXG4gICAgICAgKiBcdTYzMDlcdTk3MDBcdTUyQTBcdThGN0RcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly9hcmNvLmRlc2lnbi92dWUvZG9jcy9zdGFydCMlRTYlOEMlODklRTklOUMlODAlRTUlOEElQTAlRTglQkQlQkQlRUYlQkMlODglRTYlQTglQTElRTYlOUQlQkYlRUYlQkMlODlcbiAgICAgICAqL1xuICAgICAgQXV0b0ltcG9ydCh7XG4gICAgICAgIHJlc29sdmVyczogW0FyY29SZXNvbHZlcigpXVxuICAgICAgfSksXG4gICAgICBDb21wb25lbnRzKHtcbiAgICAgICAgcmVzb2x2ZXJzOiBbXG4gICAgICAgICAgQXJjb1Jlc29sdmVyKHtcbiAgICAgICAgICAgIHNpZGVFZmZlY3Q6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgICB9KVxuICAgIF1cbiAgfTtcbn0pO1xuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxoeVdvcmtTcGFjZVxcXFxwcm9cXFxcc21hcnRhaTJkaWFuMFxcXFxzY3JpcHRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxoeVdvcmtTcGFjZVxcXFxwcm9cXFxcc21hcnRhaTJkaWFuMFxcXFxzY3JpcHRzXFxcXHZpdGUtY29uZi5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovaHlXb3JrU3BhY2UvcHJvL3NtYXJ0YWkyZGlhbjAvc2NyaXB0cy92aXRlLWNvbmYuanNcIjsvKipcclxuICogXHU4RDQ0XHU2RTkwXHU1MzhCXHU3RjI5XHU5MTREXHU3RjZFXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgY29uZmlnX2NvbXByZXNzaW9uID0ge1xyXG4gIHZlcmJvc2U6IHRydWUsIC8vIFx1NjYyRlx1NTQyNlx1NTcyOFx1NjNBN1x1NTIzNlx1NTNGMFx1NEUyRFx1OEY5M1x1NTFGQVx1NTM4Qlx1N0YyOVx1N0VEM1x1Njc5Q1xyXG4gIGRpc2FibGU6IGZhbHNlLFxyXG4gIHRocmVzaG9sZDogMTAyNDAsIC8vIFx1NTk4Mlx1Njc5Q1x1NEY1M1x1NzlFRlx1NTkyN1x1NEU4RVx1OTYwOFx1NTAzQ1x1RkYwQ1x1NUMwNlx1ODhBQlx1NTM4Qlx1N0YyOVx1RkYwQ1x1NTM1NVx1NEY0RFx1NEUzQWJcdUZGMENcdTRGNTNcdTc5RUZcdThGQzdcdTVDMEZcdTY1RjZcdThCRjdcdTRFMERcdTg5ODFcdTUzOEJcdTdGMjlcdUZGMENcdTRFRTVcdTUxNERcdTkwMDJcdTVGOTdcdTUxNzZcdTUzQ0RcclxuICBhbGdvcml0aG06ICdnemlwJywgLy8gXHU1MzhCXHU3RjI5XHU3Qjk3XHU2Q0Q1XHVGRjBDXHU1M0VGXHU5MDA5WydnemlwJ1x1RkYwQycgYnJvdGxpY2NvbXByZXNzICdcdUZGMEMnZGVmbGF0ZSAnXHVGRjBDJ2RlZmxhdGVSYXcnXVxyXG4gIGV4dDogJy5neicsXHJcbiAgZGVsZXRlT3JpZ2luRmlsZTogZmFsc2UgLy8gXHU2RTkwXHU2NTg3XHU0RUY2XHU1MzhCXHU3RjI5XHU1NDBFXHU2NjJGXHU1NDI2XHU1MjIwXHU5NjY0XHJcbn07XHJcblxyXG4vKipcclxuICogXHU1NkZFXHU3MjQ3XHU1MzhCXHU3RjI5XHU5MTREXHU3RjZFXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgY29uZmlnX2ltYWdlbWluID0ge1xyXG4gIGdpZnNpY2xlOiB7XHJcbiAgICBvcHRpbWl6YXRpb25MZXZlbDogNyxcclxuICAgIGludGVybGFjZWQ6IGZhbHNlXHJcbiAgfSxcclxuICBvcHRpcG5nOiB7XHJcbiAgICBvcHRpbWl6YXRpb25MZXZlbDogN1xyXG4gIH0sXHJcbiAgbW96anBlZzoge1xyXG4gICAgcXVhbGl0eTogMjBcclxuICB9LFxyXG4gIHBuZ3F1YW50OiB7XHJcbiAgICBxdWFsaXR5OiBbMC44LCAwLjldLFxyXG4gICAgc3BlZWQ6IDRcclxuICB9LFxyXG4gIHN2Z286IHtcclxuICAgIHBsdWdpbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdyZW1vdmVWaWV3Qm94J1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlbW92ZUVtcHR5QXR0cnMnLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2VcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH1cclxufTtcclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUE0UixTQUFTLG9CQUFvQjtBQUV6VCxPQUFPLFNBQVM7QUFFaEIsU0FBUyxrQkFBa0I7QUFDM0IsT0FBTyxxQkFBcUI7QUFDNUIsT0FB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