vite.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import path from "path";
  2. import { fileURLToPath, URL } from "node:url";
  3. import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
  4. import { defineConfig } from "vite";
  5. import vue from "@vitejs/plugin-vue";
  6. import vueJsx from "@vitejs/plugin-vue-jsx";
  7. import AutoImport from "unplugin-auto-import/vite";
  8. import Components from "unplugin-vue-components/vite";
  9. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  10. // https://vitejs.dev/config/
  11. export default defineConfig({
  12. base: "./",
  13. publicDir: "public",
  14. server: {
  15. proxy: {
  16. "/api": {
  17. target: "https://sit-shoubov2.4dage.com",
  18. changeOrigin: true,
  19. },
  20. },
  21. },
  22. css: {
  23. preprocessorOptions: {
  24. scss: {
  25. additionalData: `
  26. @use "@/assets/element.scss" as *;
  27. `,
  28. },
  29. },
  30. },
  31. plugins: [
  32. vue(),
  33. vueJsx(),
  34. AutoImport({
  35. resolvers: [ElementPlusResolver()],
  36. }),
  37. Components({
  38. resolvers: [ElementPlusResolver({ importStyle: "sass" })],
  39. }),
  40. createSvgIconsPlugin({
  41. // 指定需要缓存的图标文件夹
  42. iconDirs: [path.resolve(process.cwd(), "src/assets/svgs")],
  43. // 指定symbolId格式
  44. symbolId: "icon-[name]",
  45. }),
  46. ],
  47. resolve: {
  48. alias: {
  49. "@": fileURLToPath(new URL("./src", import.meta.url)),
  50. },
  51. },
  52. });