index.ts 905 B

123456789101112131415161718192021222324252627282930313233
  1. import vue from '@vitejs/plugin-vue';
  2. import vueJsx from '@vitejs/plugin-vue-jsx';
  3. import copy from 'rollup-plugin-copy';
  4. import type { PluginOption } from 'vite';
  5. import progress from 'vite-plugin-progress';
  6. import VueDevtools from 'vite-plugin-vue-devtools';
  7. import { setupHtmlPlugin } from './html';
  8. import { setupElegantRouter } from './router';
  9. import { setupUnocss } from './unocss';
  10. import { setupUnplugin } from './unplugin';
  11. export function setupVitePlugins(viteEnv: Env.ImportMeta, buildTime: string) {
  12. const plugins: PluginOption = [
  13. vue({
  14. script: {
  15. defineModel: true,
  16. },
  17. }),
  18. vueJsx(),
  19. VueDevtools(),
  20. setupElegantRouter(),
  21. setupUnocss(viteEnv),
  22. ...setupUnplugin(viteEnv),
  23. progress(),
  24. setupHtmlPlugin(buildTime),
  25. copy({
  26. targets: [{ src: 'src/assets/office/*', dest: 'dist/assets/office' }],
  27. }),
  28. ];
  29. return plugins;
  30. }