vite.config.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import process from 'node:process'
  2. import Uni from '@dcloudio/vite-plugin-uni'
  3. import UniHelperComponents from '@uni-helper/vite-plugin-uni-components'
  4. import { WotResolver } from '@uni-helper/vite-plugin-uni-components/resolvers'
  5. import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts'
  6. import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest'
  7. import UniHelperPages from '@uni-helper/vite-plugin-uni-pages'
  8. import Optimization from '@uni-ku/bundle-optimizer'
  9. import UniKuRoot from '@uni-ku/root'
  10. import AutoImport from 'unplugin-auto-import/vite'
  11. import { defineConfig } from 'vite'
  12. // https://vitejs.dev/config/
  13. export default async () => {
  14. const UnoCSS = (await import('unocss/vite')).default
  15. return defineConfig({
  16. optimizeDeps: {
  17. exclude: process.env.NODE_ENV === 'development' ? ['wot-design-uni', 'uni-echarts'] : [],
  18. },
  19. plugins: [
  20. // https://github.com/uni-helper/vite-plugin-uni-manifest
  21. UniHelperManifest(),
  22. // https://github.com/uni-helper/vite-plugin-uni-pages
  23. UniHelperPages({
  24. dts: 'src/uni-pages.d.ts',
  25. subPackages: [
  26. 'src/subPack-xsb',
  27. 'src/subPack-common',
  28. 'src/subPack-smqjh',
  29. ],
  30. /**
  31. * 排除的页面,相对于 dir 和 subPackages
  32. * @default []
  33. */
  34. exclude: ['**/components/**/*.*'],
  35. }),
  36. // https://github.com/uni-helper/vite-plugin-uni-layouts
  37. UniHelperLayouts(),
  38. // https://github.com/uni-helper/vite-plugin-uni-components
  39. UniHelperComponents({
  40. resolvers: [WotResolver()],
  41. dts: 'src/components.d.ts',
  42. dirs: ['src/components'],
  43. directoryAsNamespace: true,
  44. }),
  45. // https://github.com/uni-ku/root
  46. UniKuRoot(),
  47. Uni(),
  48. // https://github.com/uni-ku/bundle-optimizer
  49. Optimization({
  50. logger: true,
  51. }),
  52. // https://github.com/antfu/unplugin-auto-import
  53. AutoImport({
  54. imports: ['vue', '@vueuse/core', 'pinia', 'uni-app', {
  55. from: 'uni-mini-router',
  56. imports: ['createRouter', 'useRouter', 'useRoute'],
  57. }, {
  58. from: 'wot-design-uni',
  59. imports: ['useToast', 'useMessage', 'useNotify', 'CommonUtil'],
  60. }, {
  61. from: 'alova/client',
  62. imports: ['usePagination', 'useRequest'],
  63. }],
  64. dts: 'src/auto-imports.d.ts',
  65. dirs: ['src/composables', 'src/store', 'src/utils', 'src/api', 'src/subPack-xsb/store-xsb'],
  66. vueTemplate: true,
  67. }),
  68. // https://github.com/antfu/unocss
  69. // see unocss.config.ts for config
  70. UnoCSS(),
  71. ],
  72. })
  73. }