vite.config.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import process from 'node:process'
  2. import Uni from '@uni-helper/plugin-uni'
  3. import { isMpWeixin } from '@uni-helper/uni-env'
  4. import UniHelperComponents from '@uni-helper/vite-plugin-uni-components'
  5. import { WotResolver } from '@uni-helper/vite-plugin-uni-components/resolvers'
  6. import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts'
  7. import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest'
  8. import Optimization from '@uni-ku/bundle-optimizer'
  9. import { hookUniPlatform } from '@uni-ku/pages-json/hooks'
  10. import pagesJson from '@uni-ku/pages-json/vite'
  11. import UniKuRoot from '@uni-ku/root'
  12. import { UniEchartsResolver } from 'uni-echarts/resolver'
  13. import { UniEcharts } from 'uni-echarts/vite'
  14. import UnoCSS from 'unocss/vite'
  15. import AutoImport from 'unplugin-auto-import/vite'
  16. import { defineConfig } from 'vite'
  17. // https://vitejs.dev/config/
  18. export default defineConfig({
  19. base: './',
  20. optimizeDeps: {
  21. exclude: process.env.NODE_ENV === 'development' ? ['wot-design-uni', 'uni-echarts'] : [],
  22. },
  23. plugins: [
  24. // https://github.com/uni-helper/vite-plugin-uni-manifest
  25. UniHelperManifest(),
  26. // https://github.com/uni-helper/vite-plugin-uni-pages
  27. pagesJson({
  28. hooks: [hookUniPlatform], // 支持 vite-plugin-uni-platform
  29. dts: 'src/uni-pages.d.ts',
  30. exclude: ['**/components/**/*.*'],
  31. }),
  32. // https://github.com/uni-helper/vite-plugin-uni-layouts
  33. UniHelperLayouts(),
  34. // https://github.com/uni-helper/vite-plugin-uni-components
  35. UniHelperComponents({
  36. resolvers: [WotResolver(), UniEchartsResolver()],
  37. dts: 'src/components.d.ts',
  38. dirs: ['src/components', 'src/business'],
  39. directoryAsNamespace: true,
  40. }),
  41. // https://github.com/uni-ku/root
  42. UniKuRoot(),
  43. // https://uni-echarts.xiaohe.ink
  44. UniEcharts(),
  45. // https://uni-helper.cn/plugin-uni
  46. Uni(),
  47. // https://github.com/uni-ku/bundle-optimizer
  48. Optimization({
  49. enable: isMpWeixin,
  50. logger: false,
  51. }),
  52. // https://github.com/antfu/unplugin-auto-import
  53. AutoImport({
  54. imports: ['vue', '@vueuse/core', 'pinia', 'uni-app', {
  55. from: '@wot-ui/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'],
  66. vueTemplate: true,
  67. }),
  68. // https://github.com/antfu/unocss
  69. // see unocss.config.ts for config
  70. UnoCSS(),
  71. ],
  72. })