vite.config.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { fileURLToPath, URL } from "node:url";
  2. import { defineConfig } from "vite";
  3. import vue from "@vitejs/plugin-vue";
  4. import vueJsx from "@vitejs/plugin-vue-jsx";
  5. import Components from "unplugin-vue-components/vite";
  6. import { VantResolver } from "unplugin-vue-components/resolvers";
  7. import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
  8. import path from "path";
  9. import AutoImport from "unplugin-auto-import/vite";
  10. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  11. // https://vitejs.dev/config/
  12. export default defineConfig({
  13. base: "./",
  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: `@use "@/assets/css/element.scss" as *;`,
  26. },
  27. },
  28. },
  29. plugins: [
  30. vue(),
  31. vueJsx(),
  32. Components({
  33. resolvers: [VantResolver(), ElementPlusResolver({ importStyle: "sass" })],
  34. }),
  35. AutoImport({
  36. resolvers: [ElementPlusResolver()],
  37. }),
  38. createSvgIconsPlugin({
  39. // 指定需要缓存的图标文件夹
  40. iconDirs: [path.resolve(process.cwd(), "src/assets/svgs")],
  41. // 指定symbolId格式
  42. symbolId: "icon-[dir]-[name]",
  43. }),
  44. ],
  45. resolve: {
  46. alias: {
  47. "@": fileURLToPath(new URL("./src", import.meta.url)),
  48. },
  49. },
  50. });