vite.config.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import path from "path";
  2. import { defineConfig } from "vite";
  3. import Vue from "@vitejs/plugin-vue";
  4. import Icons from "unplugin-icons/vite";
  5. import IconsResolver from "unplugin-icons/resolver";
  6. import AutoImport from "unplugin-auto-import/vite";
  7. import Components from "unplugin-vue-components/vite";
  8. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  9. const pathSrc = path.resolve(__dirname, "src");
  10. export default defineConfig({
  11. resolve: {
  12. alias: {
  13. "@": pathSrc,
  14. },
  15. },
  16. plugins: [
  17. Vue(),
  18. AutoImport({
  19. // Auto import functions from Vue, e.g. ref, reactive, toRef...
  20. // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
  21. imports: ["vue"],
  22. // Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)
  23. // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
  24. resolvers: [
  25. ElementPlusResolver(),
  26. // Auto import icon components
  27. // 自动导入图标组件
  28. IconsResolver({
  29. prefix: "Icon",
  30. }),
  31. ],
  32. dts: path.resolve(pathSrc, "auto-imports.d.ts"),
  33. }),
  34. Components({
  35. resolvers: [
  36. // Auto register icon components
  37. // 自动注册图标组件
  38. IconsResolver({
  39. enabledCollections: ["ep"],
  40. }),
  41. // Auto register Element Plus components
  42. // 自动导入 Element Plus 组件
  43. ElementPlusResolver(),
  44. ],
  45. dts: path.resolve(pathSrc, "components.d.ts"),
  46. }),
  47. Icons({
  48. autoInstall: true,
  49. }),
  50. ],
  51. });