vite.config.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. host: "0.0.0.0",
  16. port: 80,
  17. proxy: {
  18. "/api": {
  19. target: "http://192.168.20.61:8072",
  20. changeOrigin: true,
  21. },
  22. },
  23. },
  24. css: {
  25. preprocessorOptions: {
  26. scss: {
  27. additionalData: `
  28. @use "@/assets/element.scss" as *;
  29. `,
  30. },
  31. },
  32. },
  33. plugins: [
  34. vue(),
  35. vueJsx(),
  36. AutoImport({
  37. resolvers: [ElementPlusResolver()],
  38. }),
  39. Components({
  40. resolvers: [ElementPlusResolver({ importStyle: "sass" })],
  41. }),
  42. createSvgIconsPlugin({
  43. // 指定需要缓存的图标文件夹
  44. iconDirs: [path.resolve(process.cwd(), "src/assets/svgs")],
  45. // 指定symbolId格式
  46. symbolId: "icon-[name]",
  47. }),
  48. ],
  49. resolve: {
  50. alias: {
  51. "@": fileURLToPath(new URL("./src", import.meta.url)),
  52. },
  53. },
  54. });