vite.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { defineConfig } from 'vite'
  2. import uni from '@dcloudio/vite-plugin-uni'
  3. import path from "path";
  4. import tailwindcss from "tailwindcss";
  5. import uniTailwind from '@uni-helper/vite-plugin-uni-tailwind';
  6. import AutoImport from 'unplugin-auto-import/vite';
  7. import Components from 'unplugin-vue-components/vite';
  8. import { resolve } from 'node:path';
  9. import uniPolyfill from 'vite-plugin-uni-polyfill';
  10. import viteCompression from "vite-plugin-compression";
  11. import { env as envConfig } from './src/config';
  12. // https://vitejs.dev/config/
  13. const env = JSON.parse(process.env.UNI_CUSTOM_DEFINE || '{}');
  14. const mode = env.IE_ENV || 'development';
  15. const baseUrl = envConfig[mode]?.serverBaseUrl || '';
  16. console.log('当前模式:', mode);
  17. console.log('当前baseUrl:', baseUrl);
  18. export default defineConfig(({ mode }) => ({
  19. outDir: 'h5',
  20. resolve: {
  21. alias: {
  22. '@': resolve(__dirname, 'src'),
  23. '~': resolve(__dirname, '')
  24. }
  25. },
  26. plugins: [
  27. viteCompression({
  28. verbose: true,
  29. disable: false,
  30. threshold: 10240,
  31. algorithm: 'gzip',
  32. ext: '.gz'
  33. }),
  34. AutoImport({
  35. dts: 'src/auto-imports.d.ts',
  36. imports: [
  37. 'vue',
  38. 'uni-app',
  39. 'pinia'
  40. ],
  41. exclude: ['createApp'],
  42. eslintrc: {
  43. enabled: true
  44. }
  45. }),
  46. Components({
  47. dirs: [
  48. 'src/components'
  49. ],
  50. extensions: ['vue', 'tsx'],
  51. include: [
  52. 'src/**/*.vue',
  53. 'src/**/*.tsx'
  54. ],
  55. directoryAsNamespace: true,
  56. }),
  57. uni(),
  58. uniTailwind(),
  59. uniPolyfill(), // 解决vueuse/core10版本及以上运行到小程序报错
  60. ],
  61. css: {
  62. postcss: {
  63. plugins: [tailwindcss()],
  64. },
  65. }
  66. }));