vite.config.ts 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. build: {
  21. outDir: process.env.UNI_PLATFORM === 'h5' ? 'smqjhh5' : undefined,
  22. },
  23. server: {
  24. port: 9527,
  25. },
  26. plugins: [
  27. // https://github.com/uni-helper/vite-plugin-uni-manifest
  28. UniHelperManifest(),
  29. // https://github.com/uni-helper/vite-plugin-uni-pages
  30. pagesJson({
  31. dts: 'src/uni-pages.d.ts',
  32. pageDir: 'pages',
  33. subPackageDirs: [
  34. 'subPack-xsb',
  35. 'subPack-common',
  36. 'subPack-smqjh',
  37. 'subPack-film',
  38. 'subPack-charge',
  39. 'subPack-videoRights',
  40. 'subPack-djk',
  41. 'subPack-refueling',
  42. 'subPack-attractions',
  43. ],
  44. /**
  45. * 排除的页面,相对于 dir 和 subPackages
  46. * @default []
  47. */
  48. exclude: ['**/components/**/*.*'],
  49. hooks: [
  50. hookUniPlatform,
  51. ],
  52. }),
  53. // https://github.com/uni-helper/vite-plugin-uni-layouts
  54. UniHelperLayouts(),
  55. // https://github.com/uni-helper/vite-plugin-uni-components
  56. UniHelperComponents({
  57. resolvers: [WotResolver()],
  58. dts: 'src/components.d.ts',
  59. dirs: ['src/components'],
  60. directoryAsNamespace: true,
  61. }),
  62. // https://github.com/uni-ku/root
  63. UniKuRoot(),
  64. Uni({
  65. }),
  66. // https://github.com/uni-ku/bundle-optimizer
  67. Optimization({
  68. logger: true,
  69. }),
  70. // https://github.com/antfu/unplugin-auto-import
  71. AutoImport({
  72. imports: ['vue', '@vueuse/core', 'pinia', 'uni-app', {
  73. from: 'uni-mini-router',
  74. imports: ['createRouter', 'useRouter', 'useRoute'],
  75. }, {
  76. from: 'wot-design-uni',
  77. imports: ['useToast', 'useMessage', 'useNotify', 'CommonUtil'],
  78. }, {
  79. from: 'alova/client',
  80. imports: ['usePagination', 'useRequest'],
  81. }],
  82. dts: 'src/auto-imports.d.ts',
  83. dirs: ['src/composables', 'src/store', 'src/utils', 'src/api', 'src/subPack-xsb/store-xsb'],
  84. vueTemplate: true,
  85. }),
  86. // https://github.com/antfu/unocss
  87. // see unocss.config.ts for config
  88. UnoCSS(),
  89. ],
  90. })
  91. }