vite.config.mjs.timestamp-1719973124076-e545b9db2059f.mjs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // vite.config.mjs
  2. import { resolve } from "path";
  3. import { defineConfig, loadEnv } from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/vite/dist/node/index.js";
  4. import vue from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/@vitejs/plugin-vue/dist/index.mjs";
  5. import Components from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/unplugin-vue-components/dist/vite.js";
  6. import VueJSX from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
  7. import AutoImport from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/unplugin-auto-import/dist/vite.js";
  8. import vueSetupExtend from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/vite-plugin-vue-setup-extend/dist/index.mjs";
  9. import { visualizer } from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/rollup-plugin-visualizer/dist/plugin/index.js";
  10. import Less2CssVariablePlugin from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/antd-less-to-css-variable/dist/index.js";
  11. import viteCompression from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/vite-plugin-compression/dist/index.mjs";
  12. import { theme } from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/ant-design-vue/lib/index.js";
  13. import convertLegacyToken from "file:///D:/App/A-project/git-resource/yqyc-system/snowy-admin-web/node_modules/ant-design-vue/lib/theme/convertLegacyToken.js";
  14. var __vite_injected_original_dirname = "D:\\App\\A-project\\git-resource\\yqyc-system\\snowy-admin-web";
  15. var { defaultAlgorithm, defaultSeed } = theme;
  16. var mapToken = defaultAlgorithm(defaultSeed);
  17. var v3Token = convertLegacyToken.default(mapToken);
  18. var r = (...args) => resolve(__vite_injected_original_dirname, ".", ...args);
  19. var vite_config_default = defineConfig(({ command, mode }) => {
  20. const envConfig = loadEnv(mode, "./");
  21. const alias = {
  22. "~": `${resolve(__vite_injected_original_dirname, "./")}`,
  23. "@/": `${resolve(__vite_injected_original_dirname, "src")}/`
  24. };
  25. return {
  26. server: {
  27. port: envConfig.VITE_PORT,
  28. proxy: {
  29. "/api": {
  30. target: envConfig.VITE_API_BASEURL,
  31. ws: false,
  32. changeOrigin: true,
  33. rewrite: (path) => path.replace(/^\/api/, "")
  34. }
  35. }
  36. },
  37. resolve: {
  38. alias
  39. },
  40. // 解决警告You are running the esm-bundler build of vue-i18n.
  41. define: {
  42. __VUE_I18N_FULL_INSTALL__: true,
  43. __VUE_I18N_LEGACY_API__: true,
  44. __VUE_I18N_PROD_DEVTOOLS__: true,
  45. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: true
  46. },
  47. build: {
  48. // sourcemap: true,
  49. outDir: "yqyc-web",
  50. manifest: true,
  51. brotliSize: false,
  52. rollupOptions: {
  53. output: {
  54. manualChunks: {
  55. echarts: ["echarts"],
  56. "ant-design-vue": ["ant-design-vue"],
  57. vue: ["vue", "vue-router", "pinia", "vue-i18n"]
  58. }
  59. }
  60. },
  61. chunkSizeWarningLimit: 1e3
  62. },
  63. plugins: [
  64. vue({
  65. script: {
  66. refTransform: true
  67. }
  68. }),
  69. viteCompression(),
  70. vueSetupExtend(),
  71. VueJSX(),
  72. AutoImport({
  73. imports: ["vue"],
  74. dirs: ["./src/utils/permission"],
  75. dts: r("src/auto-imports.d.ts")
  76. }),
  77. // 组件按需引入
  78. Components({
  79. dirs: [r("src/components")],
  80. dts: false,
  81. resolvers: []
  82. }),
  83. visualizer()
  84. ],
  85. css: {
  86. preprocessorOptions: {
  87. less: {
  88. javascriptEnabled: true,
  89. plugins: [new Less2CssVariablePlugin({
  90. // TODO:有必要用的情况下,是否需要传入 variables,可能会造成重复引用
  91. variables: { ...v3Token }
  92. })],
  93. modifyVars: v3Token
  94. }
  95. }
  96. },
  97. optimizeDeps: {}
  98. };
  99. });
  100. export {
  101. vite_config_default as default,
  102. r
  103. };
  104. //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubWpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcQXBwXFxcXEEtcHJvamVjdFxcXFxnaXQtcmVzb3VyY2VcXFxceXF5Yy1zeXN0ZW1cXFxcc25vd3ktYWRtaW4td2ViXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxBcHBcXFxcQS1wcm9qZWN0XFxcXGdpdC1yZXNvdXJjZVxcXFx5cXljLXN5c3RlbVxcXFxzbm93eS1hZG1pbi13ZWJcXFxcdml0ZS5jb25maWcubWpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9BcHAvQS1wcm9qZWN0L2dpdC1yZXNvdXJjZS95cXljLXN5c3RlbS9zbm93eS1hZG1pbi13ZWIvdml0ZS5jb25maWcubWpzXCI7LyoqXHJcbiAqICBDb3B5cmlnaHQgWzIwMjJdIFtodHRwczovL3d3dy54aWFvbnVvLnZpcF1cclxuICpcdFNub3d5XHU5MUM3XHU3NTI4QVBBQ0hFIExJQ0VOU0UgMi4wXHU1RjAwXHU2RTkwXHU1MzRGXHU4QkFFXHVGRjBDXHU2MEE4XHU1NzI4XHU0RjdGXHU3NTI4XHU4RkM3XHU3QTBCXHU0RTJEXHVGRjBDXHU5NzAwXHU4OTgxXHU2Q0U4XHU2MTBGXHU0RUU1XHU0RTBCXHU1MUUwXHU3MEI5XHVGRjFBXHJcbiAqXHQxLlx1OEJGN1x1NEUwRFx1ODk4MVx1NTIyMFx1OTY2NFx1NTQ4Q1x1NEZFRVx1NjUzOVx1NjgzOVx1NzZFRVx1NUY1NVx1NEUwQlx1NzY4NExJQ0VOU0VcdTY1ODdcdTRFRjZcdTMwMDJcclxuICpcdDIuXHU4QkY3XHU0RTBEXHU4OTgxXHU1MjIwXHU5NjY0XHU1NDhDXHU0RkVFXHU2NTM5U25vd3lcdTZFOTBcdTc4MDFcdTU5MzRcdTkwRThcdTc2ODRcdTcyNDhcdTY3NDNcdTU4RjBcdTY2MEVcdTMwMDJcclxuICpcdDMuXHU2NzJDXHU5ODc5XHU3NkVFXHU0RUUzXHU3ODAxXHU1M0VGXHU1MTREXHU4RDM5XHU1NTQ2XHU0RTFBXHU0RjdGXHU3NTI4XHVGRjBDXHU1NTQ2XHU0RTFBXHU0RjdGXHU3NTI4XHU4QkY3XHU0RkREXHU3NTU5XHU2RTkwXHU3ODAxXHU1NDhDXHU3NkY4XHU1MTczXHU2M0NGXHU4RkYwXHU2NTg3XHU0RUY2XHU3Njg0XHU5ODc5XHU3NkVFXHU1MUZBXHU1OTA0XHVGRjBDXHU0RjVDXHU4MDA1XHU1OEYwXHU2NjBFXHU3QjQ5XHUzMDAyXHJcbiAqXHQ0Llx1NTIwNlx1NTNEMVx1NkU5MFx1NzgwMVx1NjVGNlx1NTAxOVx1RkYwQ1x1OEJGN1x1NkNFOFx1NjYwRVx1OEY2Rlx1NEVGNlx1NTFGQVx1NTkwNCBodHRwczovL3d3dy54aWFvbnVvLnZpcFxyXG4gKlx0NS5cdTRFMERcdTUzRUZcdTRFOENcdTZCMjFcdTUyMDZcdTUzRDFcdTVGMDBcdTZFOTBcdTUzQzJcdTRFMEVcdTU0MENcdTdDN0JcdTdBREVcdTU0QzFcdUZGMENcdTU5ODJcdTY3MDlcdTYwRjNcdTZDRDVcdTUzRUZcdTgwNTRcdTdDRkJcdTU2RTJcdTk2MUZ4aWFvbnVvYmFzZUBxcS5jb21cdTU1NDZcdThCQUVcdTU0MDhcdTRGNUNcdTMwMDJcclxuICpcdDYuXHU4MkU1XHU2MEE4XHU3Njg0XHU5ODc5XHU3NkVFXHU2NUUwXHU2Q0Q1XHU2RUUxXHU4REIzXHU0RUU1XHU0RTBBXHU1MUUwXHU3MEI5XHVGRjBDXHU5NzAwXHU4OTgxXHU2NkY0XHU1OTFBXHU1MjlGXHU4MEZEXHU0RUUzXHU3ODAxXHVGRjBDXHU4M0I3XHU1M0Q2U25vd3lcdTU1NDZcdTRFMUFcdTYzODhcdTY3NDNcdThCQjhcdTUzRUZcdUZGMENcdThCRjdcdTU3MjhcdTVCOThcdTdGNTFcdThEMkRcdTRFNzBcdTYzODhcdTY3NDNcdUZGMENcdTU3MzBcdTU3NDBcdTRFM0EgaHR0cHM6Ly93d3cueGlhb251by52aXBcclxuICovXHJcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcsIGxvYWRFbnYgfSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuaW1wb3J0IENvbXBvbmVudHMgZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvdml0ZSdcclxuaW1wb3J0IFZ1ZUpTWCBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUtanN4J1xyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xyXG5pbXBvcnQgdnVlU2V0dXBFeHRlbmQgZnJvbSAndml0ZS1wbHVnaW4tdnVlLXNldHVwLWV4dGVuZCdcclxuaW1wb3J0IHsgdmlzdWFsaXplciB9IGZyb20gJ3JvbGx1cC1wbHVnaW4tdmlzdWFsaXplcidcclxuaW1wb3J0IExlc3MyQ3NzVmFyaWFibGVQbHVnaW4gZnJvbSAnYW50ZC1sZXNzLXRvLWNzcy12YXJpYWJsZSdcclxuaW1wb3J0IHZpdGVDb21wcmVzc2lvbiBmcm9tICd2aXRlLXBsdWdpbi1jb21wcmVzc2lvbidcclxuXHJcbi8vICBhbnQtZGVzaWduLXZ1ZSBcdTc2ODQgbGVzcyBcdTUzRDhcdTkxQ0ZcdUZGMENcdTkwMUFcdThGQzdcdTUxN0NcdTVCQjlcdTUzMDVcdTVDMDYgdjQgXHU1M0Q4XHU5MUNGXHU4RjZDXHU4QkQxXHU2MjEwIHYzIFx1NzI0OFx1NjcyQ1x1RkYwQ1x1NUU3Nlx1OTAxQVx1OEZDNyBsZXNzLWxvYWRlciBcdTZDRThcdTUxNjVcclxuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdhbnQtZGVzaWduLXZ1ZS9saWInO1xyXG5pbXBvcnQgY29udmVydExlZ2FjeVRva2VuIGZyb20gJ2FudC1kZXNpZ24tdnVlL2xpYi90aGVtZS9jb252ZXJ0TGVnYWN5VG9rZW4nO1xyXG5jb25zdCB7IGRlZmF1bHRBbGdvcml0aG0sIGRlZmF1bHRTZWVkIH0gPSB0aGVtZTtcclxuY29uc3QgbWFwVG9rZW4gPSBkZWZhdWx0QWxnb3JpdGhtKGRlZmF1bHRTZWVkKTtcclxuY29uc3QgdjNUb2tlbiA9IGNvbnZlcnRMZWdhY3lUb2tlbi5kZWZhdWx0KG1hcFRva2VuKTtcclxuXHJcbmV4cG9ydCBjb25zdCByID0gKC4uLmFyZ3MpID0+IHJlc29sdmUoX19kaXJuYW1lLCAnLicsIC4uLmFyZ3MpXHJcblxyXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSB9KSA9PiB7XHJcblx0Y29uc3QgZW52Q29uZmlnID0gbG9hZEVudihtb2RlLCAnLi8nKVxyXG5cdGNvbnN0IGFsaWFzID0ge1xyXG5cdFx0J34nOiBgJHtyZXNvbHZlKF9fZGlybmFtZSwgJy4vJyl9YCxcclxuXHRcdCdALyc6IGAke3Jlc29sdmUoX19kaXJuYW1lLCAnc3JjJyl9L2BcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdHNlcnZlcjoge1xyXG5cdFx0XHRwb3J0OiBlbnZDb25maWcuVklURV9QT1JULFxyXG5cdFx0XHRwcm94eToge1xyXG5cdFx0XHRcdCcvYXBpJzoge1xyXG5cdFx0XHRcdFx0dGFyZ2V0OiBlbnZDb25maWcuVklURV9BUElfQkFTRVVSTCxcclxuXHRcdFx0XHRcdHdzOiBmYWxzZSxcclxuXHRcdFx0XHRcdGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UoL15cXC9hcGkvLCAnJylcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRyZXNvbHZlOiB7XHJcblx0XHRcdGFsaWFzXHJcblx0XHR9LFxyXG5cdFx0Ly8gXHU4OUUzXHU1MUIzXHU4QjY2XHU1NDRBWW91IGFyZSBydW5uaW5nIHRoZSBlc20tYnVuZGxlciBidWlsZCBvZiB2dWUtaTE4bi5cclxuXHRcdGRlZmluZToge1xyXG5cdFx0XHRfX1ZVRV9JMThOX0ZVTExfSU5TVEFMTF9fOiB0cnVlLFxyXG5cdFx0XHRfX1ZVRV9JMThOX0xFR0FDWV9BUElfXzogdHJ1ZSxcclxuXHRcdFx0X19WVUVfSTE4Tl9QUk9EX0RFVlRPT0xTX186IHRydWUsXHJcblx0XHRcdF9fVlVFX1BST0RfSFlEUkFUSU9OX01JU01BVENIX0RFVEFJTFNfXzogdHJ1ZVxyXG5cdFx0fSxcclxuXHRcdGJ1aWxkOiB7XHJcblx0XHRcdC8vIHNvdXJjZW1hcDogdHJ1ZSxcclxuXHRcdFx0b3V0RGlyOiBcInlxeWMtd2ViXCIsXHJcblx0XHRcdG1hbmlmZXN0OiB0cnVlLFxyXG5cdFx0XHRicm90bGlTaXplOiBmYWxzZSxcclxuXHRcdFx0cm9sbHVwT3B0aW9uczoge1xyXG5cdFx0XHRcdG91dHB1dDoge1xyXG5cdFx0XHRcdFx0bWFudWFsQ2h1bmtzOiB7XHJcblx0XHRcdFx0XHRcdGVjaGFydHM6IFsnZWNoYXJ0cyddLFxyXG5cdFx0XHRcdFx0XHQnYW50LWRlc2lnbi12dWUnOiBbJ2FudC1kZXNpZ24tdnVlJ10sXHJcblx0XHRcdFx0XHRcdHZ1ZTogWyd2dWUnLCAndnVlLXJvdXRlcicsICdwaW5pYScsICd2dWUtaTE4biddXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaHVua1NpemVXYXJuaW5nTGltaXQ6IDEwMDBcclxuXHRcdH0sXHJcblx0XHRwbHVnaW5zOiBbXHJcblx0XHRcdHZ1ZSh7XHJcblx0XHRcdFx0c2NyaXB0OiB7XHJcblx0XHRcdFx0XHRyZWZUcmFuc2Zvcm06IHRydWVcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pLFxyXG5cdFx0XHR2aXRlQ29tcHJlc3Npb24oKSxcclxuXHRcdFx0dnVlU2V0dXBFeHRlbmQoKSxcclxuXHRcdFx0VnVlSlNYKCksXHJcblx0XHRcdEF1dG9JbXBvcnQoe1xyXG5cdFx0XHRcdGltcG9ydHM6IFsndnVlJ10sXHJcblx0XHRcdFx0ZGlyczogWycuL3NyYy91dGlscy9wZXJtaXNzaW9uJ10sXHJcblx0XHRcdFx0ZHRzOiByKCdzcmMvYXV0by1pbXBvcnRzLmQudHMnKVxyXG5cdFx0XHR9KSxcclxuXHRcdFx0Ly8gXHU3RUM0XHU0RUY2XHU2MzA5XHU5NzAwXHU1RjE1XHU1MTY1XHJcblx0XHRcdENvbXBvbmVudHMoe1xyXG5cdFx0XHRcdGRpcnM6IFtyKCdzcmMvY29tcG9uZW50cycpXSxcclxuXHRcdFx0XHRkdHM6IGZhbHNlLFxyXG5cdFx0XHRcdHJlc29sdmVyczogW11cclxuXHRcdFx0fSksXHJcblx0XHRcdHZpc3VhbGl6ZXIoKVxyXG5cdFx0XSxcclxuXHRcdGNzczoge1xyXG5cdFx0XHRwcmVwcm9jZXNzb3JPcHRpb25zOiB7XHJcblx0XHRcdFx0bGVzczoge1xyXG5cdFx0XHRcdFx0amF2YXNjcmlwdEVuYWJsZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRwbHVnaW5zOiBbbmV3IExlc3MyQ3NzVmFyaWFibGVQbHVnaW4oe1xyXG5cdFx0XHRcdFx0XHQvLyBUT0RPXHVGRjFBXHU2NzA5XHU1RkM1XHU4OTgxXHU3NTI4XHU3Njg0XHU2MEM1XHU1MUI1XHU0RTBCXHVGRjBDXHU2NjJGXHU1NDI2XHU5NzAwXHU4OTgxXHU0RjIwXHU1MTY1IHZhcmlhYmxlc1x1RkYwQ1x1NTNFRlx1ODBGRFx1NEYxQVx1OTAyMFx1NjIxMFx1OTFDRFx1NTkwRFx1NUYxNVx1NzUyOFxyXG5cdFx0XHRcdFx0XHR2YXJpYWJsZXM6IHsgLi4udjNUb2tlbiB9XHJcblx0XHRcdFx0XHR9KV0sXHJcblx0XHRcdFx0XHRtb2RpZnlWYXJzOiB2M1Rva2VuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b3B0aW1pemVEZXBzOiB7fVxyXG5cdH1cclxufSlcclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQVVBLFNBQVMsZUFBZTtBQUN4QixTQUFTLGNBQWMsZUFBZTtBQUN0QyxPQUFPLFNBQVM7QUFDaEIsT0FBTyxnQkFBZ0I7QUFDdkIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sZ0JBQWdCO0FBQ3ZCLE9BQU8sb0JBQW9CO0FBQzNCLFNBQVMsa0JB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