vite.config.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { defineConfig } from 'vite'
  2. import uni from '@dcloudio/vite-plugin-uni'
  3. import path from 'path'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import h5ProdEffectPlugin from 'uni-vite-plugin-h5-prod-effect'
  6. import legacy from '@vitejs/plugin-legacy'
  7. import viteCompression from 'vite-plugin-compression'
  8. // https://vitejs.dev/config/
  9. export default defineConfig({
  10. plugins: [
  11. uni(),
  12. AutoImport({
  13. imports: [
  14. 'vue',
  15. 'uni-app'
  16. ],
  17. dirs: [
  18. 'src/utils',
  19. 'src/hooks',
  20. 'src/stores/**',
  21. 'src/wxs/**',
  22. 'src/lang'
  23. ],
  24. dts: 'src/auto-imports.d.ts',
  25. eslintrc: {
  26. enabled: true
  27. }
  28. }),
  29. // 对h5 production环境打包时的特殊处理,否则uni-crazy-router在这个环境会异常
  30. h5ProdEffectPlugin()
  31. ].concat(process.env.UNI_PLATFORM === 'h5' ? [
  32. legacy({
  33. // 兼容浏览器列表
  34. targets: ['Android >= 7', 'chrome >= 51', 'firefox >= 54', 'ios >= 10']
  35. }),
  36. viteCompression({
  37. threshold: 1000
  38. })
  39. ] : []),
  40. server: {
  41. host: true,
  42. port: 80,
  43. open: true
  44. },
  45. resolve: {
  46. alias: {
  47. '@': path.resolve(__dirname, 'src')
  48. }
  49. },
  50. build: {
  51. minify: 'terser'
  52. }
  53. })