autoImport.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import AutoImport from 'unplugin-auto-import/vite'
  2. export const autoImportPlugin = () => {
  3. return AutoImport({
  4. include: [
  5. /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
  6. /\.vue$/,
  7. /\.vue\?vue/, // .vue
  8. /\.md$/ // .md
  9. ],
  10. imports: [
  11. // presets
  12. 'vue',
  13. 'vue-router',
  14. 'pinia',
  15. // custom
  16. {
  17. '/@/hooks/web/useMessage': ['useMessage'],
  18. '/@/utils/file/image': ['getAssetsImageUrl', 'getRelativeImageUrl']
  19. // "@vueuse/core": [
  20. // // named imports
  21. // "useMouse", // import { useMouse } from '@vueuse/core',
  22. // // alias
  23. // ["useFetch", "useMyFetch"], // import { useFetch as useMyFetch } from '@vueuse/core',
  24. // ],
  25. // axios: [
  26. // // default imports
  27. // ["default", "axios"], // import { default as axios } from 'axios',
  28. // ],
  29. // "[package-name]": [
  30. // "[import-names]",
  31. // // alias
  32. // ["[from]", "[alias]"],
  33. // ],
  34. }
  35. // example type import
  36. // {
  37. // from: "vue-router",
  38. // imports: ["RouteLocationRaw"],
  39. // type: true,
  40. // },
  41. ],
  42. vueTemplate: true,
  43. eslintrc: {
  44. enabled: true,
  45. globalsPropValue: true
  46. }
  47. // Custom
  48. // resolvers: [IconsResolver()],
  49. })
  50. }