邃芒慧影管理端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

124 line
14 KiB

  1. // vite.config.ts
  2. import vue from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/@vitejs/plugin-vue/dist/index.mjs";
  3. import { loadEnv, defineConfig } from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/vite/dist/node/index.js";
  4. import AutoImport from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unplugin-auto-import/dist/vite.js";
  5. import Components from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unplugin-vue-components/dist/vite.mjs";
  6. import { ElementPlusResolver } from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unplugin-vue-components/dist/resolvers.mjs";
  7. import Icons from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unplugin-icons/dist/vite.mjs";
  8. import IconsResolver from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unplugin-icons/dist/resolver.mjs";
  9. import postCssPxToRem from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/postcss-pxtorem/index.js";
  10. import { createSvgIconsPlugin } from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/vite-plugin-svg-icons/dist/index.mjs";
  11. import UnoCSS from "file:///C:/Users/56817/Desktop/Working%20Space/6,SuiMang/Metavatar_Neuver_Admin/node_modules/unocss/dist/vite.mjs";
  12. import path from "path";
  13. var __vite_injected_original_dirname = "C:\\Users\\56817\\Desktop\\Working Space\\6,SuiMang\\Metavatar_Neuver_Admin";
  14. var pathSrc = path.resolve(__vite_injected_original_dirname, "src");
  15. var vite_config_default = defineConfig(({ mode }) => {
  16. const env = loadEnv(mode, process.cwd());
  17. return {
  18. resolve: {
  19. alias: {
  20. "@": pathSrc
  21. }
  22. },
  23. css: {
  24. // CSS 预处理器
  25. preprocessorOptions: {
  26. //define global scss variable
  27. scss: {
  28. javascriptEnabled: true,
  29. additionalData: `
  30. @use "@/styles/variables.scss" as *;
  31. `
  32. }
  33. },
  34. postcss: {
  35. plugins: [
  36. postCssPxToRem({
  37. rootValue: 192,
  38. // 1rem 的大小
  39. propList: ["*"],
  40. // 需要转换的属性,*(全部转换)
  41. unitPrecision: 6
  42. // 转换精度,保留的小数位数
  43. })
  44. ]
  45. }
  46. },
  47. server: {
  48. host: "0.0.0.0",
  49. port: Number(env.VITE_APP_PORT),
  50. open: true,
  51. // 运行是否自动打开浏览器
  52. // "/api": {
  53. // target: env.VITE_APP_BASE_API, // 线上接口地址
  54. // changeOrigin: true,
  55. // rewrite: (path) => path.replace(/^\/api/, ""),
  56. // },
  57. proxy: {
  58. // 反向代理解决跨域
  59. "/A": {
  60. target: env.VITE_APP_BASE_API,
  61. // 线上接口地址
  62. changeOrigin: true,
  63. rewrite: (path2) => path2.replace(/^\/A/, "")
  64. }
  65. }
  66. },
  67. plugins: [
  68. vue(),
  69. UnoCSS({
  70. /* options */
  71. }),
  72. AutoImport({
  73. // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
  74. imports: ["vue", "@vueuse/core"],
  75. // eslintrc: {
  76. // enabled: false, // Default `false`
  77. // filepath: "./.eslintrc-auto-import.json", // Default `./.eslintrc-auto-import.json`
  78. // globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
  79. // },
  80. resolvers: [
  81. // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
  82. ElementPlusResolver(),
  83. // 自动导入图标组件
  84. IconsResolver({})
  85. ],
  86. vueTemplate: true,
  87. // 是否在 vue 模板中自动导入
  88. dts: path.resolve(pathSrc, "types", "auto-imports.d.ts")
  89. // 自动导入组件类型声明文件位置,默认根目录; false 关闭自动生成
  90. }),
  91. Components({
  92. resolvers: [
  93. // 自动注册图标组件
  94. IconsResolver({
  95. enabledCollections: ["ep"]
  96. //@iconify-json/ep 是 Element Plus 的图标库
  97. }),
  98. // 自动导入 Element Plus 组件
  99. ElementPlusResolver()
  100. ],
  101. dts: path.resolve(pathSrc, "types", "components.d.ts")
  102. // 自动导入组件类型声明文件位置,默认根目录; false 关闭自动生成
  103. }),
  104. Icons({
  105. // 自动安装图标库
  106. autoInstall: true
  107. }),
  108. createSvgIconsPlugin({
  109. // 指定需要缓存的图标文件夹
  110. iconDirs: [path.resolve(pathSrc, "assets/icons")],
  111. // 指定symbolId格式
  112. symbolId: "icon-[dir]-[name]"
  113. })
  114. ]
  115. // define: {
  116. // global: {},
  117. // },
  118. };
  119. });
  120. export {
  121. vite_config_default as default
  122. };
  123. //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFw1NjgxN1xcXFxEZXNrdG9wXFxcXFdvcmtpbmcgU3BhY2VcXFxcNixTdWlNYW5nXFxcXE1ldGF2YXRhcl9OZXV2ZXJfQWRtaW5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXDU2ODE3XFxcXERlc2t0b3BcXFxcV29ya2luZyBTcGFjZVxcXFw2LFN1aU1hbmdcXFxcTWV0YXZhdGFyX05ldXZlcl9BZG1pblxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvNTY4MTcvRGVza3RvcC9Xb3JraW5nJTIwU3BhY2UvNixTdWlNYW5nL01ldGF2YXRhcl9OZXV2ZXJfQWRtaW4vdml0ZS5jb25maWcudHNcIjtpbXBvcnQgdnVlIGZyb20gXCJAdml0ZWpzL3BsdWdpbi12dWVcIjtcclxuXHJcbmltcG9ydCB7IFVzZXJDb25maWcsIENvbmZpZ0VudiwgbG9hZEVudiwgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuXHJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCI7XHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gXCJ1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlXCI7XHJcbmltcG9ydCB7IEVsZW1lbnRQbHVzUmVzb2x2ZXIgfSBmcm9tIFwidW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzXCI7XHJcblxyXG5pbXBvcnQgSWNvbnMgZnJvbSBcInVucGx1Z2luLWljb25zL3ZpdGVcIjtcclxuaW1wb3J0IEljb25zUmVzb2x2ZXIgZnJvbSBcInVucGx1Z2luLWljb25zL3Jlc29sdmVyXCI7XHJcbmltcG9ydCBwb3N0Q3NzUHhUb1JlbSBmcm9tICdwb3N0Y3NzLXB4dG9yZW0nXHJcbmltcG9ydCB7IGNyZWF0ZVN2Z0ljb25zUGx1Z2luIH0gZnJvbSBcInZpdGUtcGx1Z2luLXN2Zy1pY29uc1wiO1xyXG5cclxuaW1wb3J0IFVub0NTUyBmcm9tIFwidW5vY3NzL3ZpdGVcIjtcclxuXHJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XHJcbmNvbnN0IHBhdGhTcmMgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcInNyY1wiKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlIH06IENvbmZpZ0Vudik6IFVzZXJDb25maWcgPT4ge1xyXG4gIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSk7XHJcbiAgcmV0dXJuIHtcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICBcIkBcIjogcGF0aFNyYyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBjc3M6IHtcclxuICAgICAgLy8gQ1NTIFx1OTg4NFx1NTkwNFx1NzQwNlx1NTY2OFxyXG4gICAgICBwcmVwcm9jZXNzb3JPcHRpb25zOiB7XHJcbiAgICAgICAgLy9kZWZpbmUgZ2xvYmFsIHNjc3MgdmFyaWFibGVcclxuICAgICAgICBzY3NzOiB7XHJcbiAgICAgICAgICBqYXZhc2NyaXB0RW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOiBgXHJcbiAgICAgICAgICAgIEB1c2UgXCJAL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiIGFzICo7XHJcbiAgICAgICAgICBgLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHBvc3Rjc3M6IHtcclxuICAgICAgICBwbHVnaW5zOiBbXHJcbiAgICAgICAgICBwb3N0Q3NzUHhUb1JlbSh7XHJcbiAgICAgICAgICAgIHJvb3RWYWx1ZTogMTkyLCAvLyAxcmVtIFx1NzY4NFx1NTkyN1x1NUMwRlxyXG4gICAgICAgICAgICBwcm9wTGlzdDogWycqJ10sIC8vIFx1OTcwMFx1ODk4MVx1OEY2Q1x1NjM2Mlx1NzY4NFx1NUM1RVx1NjAyN1x1RkYwQyooXHU1MTY4XHU5MEU4XHU4RjZDXHU2MzYyKVxyXG4gICAgICAgICAgICB1bml0UHJlY2lzaW9uOiA2IC8vIFx1OEY2Q1x1NjM2Mlx1N0NCRVx1NUVBNlx1RkYwQ1x1NEZERFx1NzU1OVx1NzY4NFx1NUMwRlx1NjU3MFx1NEY0RFx1NjU3MFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBdXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzZXJ2ZXI6IHtcclxuICAgICAgaG9zdDogXCIwLjAuMC4wXCIsXHJcbiAgICAgIHBvcnQ6IE51bWJlcihlbnYuVklURV9BUFBfUE9SVCksXHJcbiAgICAgIG9wZW46IHRydWUsIC8vIFx1OEZEMFx1ODg0Q1x1NjYyRlx1NTQyNlx1ODFFQVx1NTJBOFx1NjI1M1x1NUYwMFx1NkQ0Rlx1ODlDOFx1NTY2OFxyXG4gICAgICAvLyBcIi9hcGlcIjoge1xyXG4gICAgICAvLyAgIHRhcmdldDogZW52LlZJVEVfQVBQX0JBU0VfQVBJLCAvLyBcdTdFQkZcdTRFMEFcdTYzQTVcdTUzRTNcdTU3MzBcdTU3NDBcclxuICAgICAgLy8gICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgIC8vICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZSgvXlxcL2FwaS8sIFwiXCIpLFxyXG4gICAgICAvLyB9LFxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgIC8vIFx1NTNDRFx1NTQxMVx1NEVFM1x1NzQwNlx1ODlFM1x1NTFCM1x1OERFOFx1NTdERlxyXG4gICAgICAgIFwiL0FcIjoge1xyXG4gICAgICAgICAgdGFyZ2V0OiBlbnYuVklURV9BUFBfQkFTRV9BUEksIC8vIFx1N0VCRlx1NEUwQVx1NjNBNVx1NTNFM1x1NTczMFx1NTc0MFxyXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZSgvXlxcL0EvLCBcIlwiKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHBsdWdpbnM6IFtcclxuICAgICAgdnVlKCksXHJcbiAgICAgIFVub0NTUyh7XHJcbiAgICAgICAgLyogb3B0aW9ucyAqL1xyXG4gICAgICB9KSxcclxuICAgICAgQXV0b0ltcG9ydCh7XHJcbiAgICAgICAgLy8gXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1IFZ1ZSBcdTc2RjhcdTUxNzNcdTUxRkRcdTY1NzBcdUZGMENcdTU5ODJcdUZGMUFyZWYsIHJlYWN0aXZlLCB0b1JlZiBcdTdCNDlcclxuICAgICAgICBpbXBvcnRzOiBbXCJ2dWVcIiwgXCJAdnVldXNlL2NvcmVcIl0sXHJcbiAgICAgICAgLy8gZXNsaW50cmM6IHtcclxuICAgICAgICAvLyAgIGVuYWJsZWQ6IGZhbHNlLCAvLyAgRGVmYXVsdCBgZmFsc2VgXHJcbiAgICAgICAgLy8gICBmaWxlcGF0aDogXCIuLy5lc2xpbnRyYy1hdXRvLWltcG9ydC5qc29uXCIsIC8vIERlZmF1bHQgYC4vLmVzbGludHJjLWF1dG8taW1wb3J0Lmpzb25gXHJcbiAgICAgICAgLy8gICBnbG9iYWxzUHJvcFZhbHVlOiB0cnVlLCAvLyBEZWZhdWx0IGB0cnVlYCwgKHRydWUgfCBmYWxzZSB8ICdyZWFkb25seScgfCAncmVhZGFibGUnIHwgJ3dyaXRhYmxlJyB8ICd3cml0ZWFibGUnKVxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgcmVzb2x2ZXJzOiBbXHJcbiAgICAgICAgICAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjUgRWxlbWVudCBQbHVzIFx1NzZGOFx1NTE3M1x1NTFGRFx1NjU3MFx1RkYwQ1x1NTk4Mlx1RkYxQUVsTWVzc2FnZSwgRWxNZXNzYWdlQm94Li4uIChcdTVFMjZcdTY4MzdcdTVGMEYpXHJcbiAgICAgICAgICBFbGVtZW50UGx1c1Jlc29sdmVyKCksXHJcbiAgICAgICAgICAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjVcdTU2RkVcdTY4MDdcdTdFQzRcdTRFRjZcclxuICAgICAgICAgIEljb25zUmVzb2x2ZXIoe30pLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgdnVlVGVtcGxhdGU6IHRydWUsIC8vIFx1NjYyRlx1NTQyNlx1NTcyOCB2dWUgXHU2QTIxXHU2NzdGXHU0RTJEXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1XHJcbiAgICAgICAgZHRzOiBwYXRoLnJlc29sdmUocGF0aFNyYywgXCJ0eXBlc1wiLCBcImF1dG8taW1wb3J0cy5kLnRzXCIpLCAvLyAgXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1XHU3RUM0XHU0RUY2XHU3QzdCXHU1NzhCXHU1OEYwXHU2NjBFXHU2NTg3XHU0RUY2XHU0RjREXHU3RjZFXHVGRjBDXHU5RUQ4XHU4QkE0XHU2ODM5XHU3NkVFXHU1RjU1OyBmYWxzZSBcdTUxNzNcdTk1RURcdTgxRUFcdTUyQThcdTc1MUZcdTYyMTBcclxuICAgICAgfSksXHJcblxyXG4gICAgICBDb21wb25lbnRzKHtcclxuICAgICAgICByZXNvbHZlcnM6IFtcclxuICAgICAgICAgIC8vIFx1ODFFQVx1NTJBOFx1NkNFOFx1NTE4Q1x1NTZGRVx1NjgwN1x1N0VDNFx1NEVGNlxyXG4gICAgICAgICAgSWNvbnNSZXNvbHZlcih7XHJcbiAgICAgICAgICAgIGVuYWJsZWRDb2xsZWN0aW9uczogW1wiZXBcIl0sIC8vQGljb25pZnktanNvbi9lcCBcdTY2MkYgRWxlbWVudCBQbHVzIFx1NzY4NFx1NTZGRVx1NjgwN1x1NUU5M1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjUgRWxlbWVudCBQbHVzIFx1N0VDNFx1NEVGNlxyXG4gICAgICAgICAgRWxlbWVudFBsdXNSZXNvbHZlcigpLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZHRzOiBwYXRoLnJlc29sdmUocGF0aFNyYywgXCJ0eXBlc1wiLCBcImNvbXBvbmVudHMuZC50c1wiKSwgLy8gIFx1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NVx1N0VDNFx1NEVGNlx1N0M3Qlx1NTc4Qlx1NThGMFx1NjYwRVx1NjU4N1x1NEVGNlx1NEY0RFx1N0Y2RVx1RkYwQ1x1OUVEOFx1OEJBNFx1NjgzOVx1NzZFRVx1NUY1NTsgZmFsc2UgXHU1MTczXHU5NUVEXHU4MUVBXHU1MkE4XHU3NTFGXHU2MjEwXHJcbiAgICAgIH0pLFxyXG5cclxuICAgICAgSWNvbnMoe1xyXG4gICAgICAgIC8vIFx1ODFFQVx1NTJBOFx1NUI4OVx1ODhDNVx1NTZGRVx1NjgwN1x1NUU5M1xyXG4gICAgICAgIGF1dG9JbnN0YWxsOiB0cnVlLFxyXG4gICAgICB9KSxcclxuXHJcbiAgICAgIGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuICAgICAgICAvLyBcdTYzMDdcdTVCOUFcdTk3MDBcdTg5ODFcdTdGMTNcdTVCNThcdTc2ODRcdTU2RkVcdTY4MDdcdTY1ODdcdTRFRjZcdTU5MzlcclxuICAgICAgICBpY29uRGlyczogW3BhdGgucmVzb2x2ZShwYXRoU3JjLCBcImFzc2V0cy9pY29uc1wiKV0sXHJcbiAgICAgICAgLy8gXHU2MzA3XHU1QjlBc3ltYm9sSWRcdTY4M0NcdTVGMEZcclxuICAgICAgICBzeW1ib2xJZDogXCJpY29uLVtkaXJdLVtuYW1lXVwiLFxyXG4gICAgICB9KSxcclxuICAgIF0sXHJcbiAgICAvLyBkZWZpbmU6IHtcclxuICAgIC8vICAgZ2xvYmFsOiB7fSxcclxuICAgIC8vIH0sXHJcbiAgfTtcclxufSk7XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBaVosT0FBTyxTQUFTO0FBRWphLFNBQWdDLFNBQVMsb0JBQW9CO0FBRTdELE9BQU8sZ0JBQWdCO0FBQ3ZCLE9BQU8sZ0JBQWdCO0FBQ3ZCLFNBQVMsMkJBQTJCO0FBRXBDLE9BQU8sV0FBVztBQUNsQixPQUFPLG1CQUFtQjtBQUMxQixPQUFPLG9CQUFvQjtBQUMzQixT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