vite.config.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. server: {
  27. port: 5174,
  28. proxy: {
  29. '/api': {
  30. target: 'http://localhost:8080',
  31. changeOrigin: true,
  32. rewrite: (path) => path.replace(/^\/api/, '')
  33. }
  34. }
  35. },
  36. plugins: [
  37. viteCompression({
  38. verbose: true,
  39. disable: false,
  40. threshold: 10240,
  41. algorithm: 'gzip',
  42. ext: '.gz'
  43. }),
  44. AutoImport({
  45. dts: 'src/auto-imports.d.ts',
  46. imports: [
  47. 'vue',
  48. 'uni-app',
  49. 'pinia'
  50. ],
  51. exclude: ['createApp'],
  52. eslintrc: {
  53. enabled: true
  54. }
  55. }),
  56. Components({
  57. dirs: [
  58. 'src/components'
  59. ],
  60. extensions: ['vue', 'tsx'],
  61. include: [
  62. 'src/**/*.vue',
  63. 'src/**/*.tsx'
  64. ],
  65. directoryAsNamespace: true,
  66. }),
  67. uni(),
  68. uniTailwind(),
  69. uniPolyfill(), // 解决vueuse/core10版本及以上运行到小程序报错
  70. ],
  71. css: {
  72. postcss: {
  73. plugins: [tailwindcss()],
  74. },
  75. }
  76. }));