| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | import type { PluginOption } from 'vite';import vue from '@vitejs/plugin-vue';import vueJsx from '@vitejs/plugin-vue-jsx';import unocss from '@unocss/vite';import progress from 'vite-plugin-progress';import pageRoute from '@soybeanjs/vite-plugin-vue-page-route';import unplugin from './unplugin';import mock from './mock';import visualizer from './visualizer';import compress from './compress';import pwa from './pwa';/** * vite插件 * @param viteEnv - 环境变量配置 */export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {  const plugins = [    vue({      script: {        defineModel: true      }    }),    vueJsx(),    ...unplugin(viteEnv),    unocss(),    mock(viteEnv),    progress(),    pageRoute()  ];  if (viteEnv.VITE_VISUALIZER === 'Y') {    plugins.push(visualizer as PluginOption);  }  if (viteEnv.VITE_COMPRESS === 'Y') {    plugins.push(compress(viteEnv));  }  if (viteEnv.VITE_PWA === 'Y' || viteEnv.VITE_VERCEL === 'Y') {    plugins.push(pwa());  }  return plugins;}
 |