vite.config.ts 2.7 KB

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