vite.config.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { defineConfig } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import path from "path";
  4. import UnoCSS from "unocss/vite";
  5. import AutoImport from "unplugin-auto-import/vite";
  6. import Components from "unplugin-vue-components/vite";
  7. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  8. import ElementPlus from "unplugin-element-plus/vite";
  9. // https://vite.dev/config/
  10. export default defineConfig({
  11. resolve: {
  12. /**
  13. * 配置路径别名
  14. * @example import HelloWorld from '@/components/HelloWorld.vue'
  15. */
  16. alias: [{ find: "@", replacement: path.resolve(__dirname, "src") }]
  17. },
  18. plugins: [
  19. UnoCSS({
  20. configFile: "./UnoCSS.config.ts"
  21. }),
  22. vue(),
  23. AutoImport({
  24. // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
  25. // api
  26. imports: ["vue", "vue-router", "pinia"],
  27. resolvers: [ElementPlusResolver()],
  28. eslintrc: { enabled: false }
  29. // 生成相应的 .eslintrc-auto-import.json 文件。
  30. // 这样就可以在eslint中启用自动导入
  31. }),
  32. Components({
  33. // 解析 ElementPlus 组件
  34. resolvers: [ElementPlusResolver()],
  35. // 所有自定义组件可以自动加载,无需 import
  36. dirs: [
  37. "src/components",
  38. "src/layout/components",
  39. "src/views/**/components",
  40. "src/views/"
  41. ]
  42. }),
  43. ElementPlus({}) // 导入样式
  44. ]
  45. });