vite.config.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 viteCompression from "vite-plugin-compression";
  10. import { env as envConfig } from './src/config';
  11. // https://vitejs.dev/config/
  12. const env = JSON.parse(process.env.UNI_CUSTOM_DEFINE || '{}');
  13. const mode = env.IE_ENV || 'development';
  14. const baseUrl = envConfig[mode]?.serverBaseUrl || '';
  15. console.log('当前模式:', mode);
  16. console.log('当前baseUrl:', baseUrl);
  17. export default defineConfig(({ mode }) => ({
  18. outDir: 'h5',
  19. resolve: {
  20. alias: {
  21. '@': resolve(__dirname, 'src'),
  22. '~': resolve(__dirname, '')
  23. }
  24. },
  25. server: {
  26. port: 5174,
  27. proxy: {
  28. '/api': {
  29. target: 'http://localhost:8080',
  30. changeOrigin: true,
  31. rewrite: (path) => path.replace(/^\/api/, '')
  32. }
  33. }
  34. },
  35. plugins: [
  36. viteCompression({
  37. verbose: true,
  38. disable: false,
  39. threshold: 10240,
  40. algorithm: 'gzip',
  41. ext: '.gz'
  42. }),
  43. AutoImport({
  44. dts: 'src/auto-imports.d.ts',
  45. imports: [
  46. 'vue',
  47. 'uni-app',
  48. 'pinia'
  49. ],
  50. exclude: ['createApp'],
  51. eslintrc: {
  52. enabled: true
  53. }
  54. }),
  55. Components({
  56. dirs: [
  57. 'src/components'
  58. ],
  59. extensions: ['vue', 'tsx'],
  60. include: [
  61. 'src/**/*.vue',
  62. 'src/**/*.tsx'
  63. ],
  64. directoryAsNamespace: true,
  65. }),
  66. uni(),
  67. uniTailwind(),
  68. ],
  69. css: {
  70. postcss: {
  71. plugins: [tailwindcss()],
  72. },
  73. }
  74. }));