import vue from '@vitejs/plugin-vue' /** * * unocss插件,原子css * https://github.com/antfu/unocss */ import Unocss from 'unocss/vite' // rollup打包分析插件 import visualizer from 'rollup-plugin-visualizer' // 压缩 import viteCompression from 'vite-plugin-compression' import { configHtmlPlugin } from './html' import { configMockPlugin } from './mock' import unplugin from './unplugin' import { sentryVitePlugin } from '@sentry/vite-plugin' export function createVitePlugins(viteEnv, isBuild) { const plugins = [vue(), ...unplugin, configHtmlPlugin(viteEnv, isBuild), Unocss()] if (viteEnv?.VITE_USE_MOCK) { plugins.push(configMockPlugin(isBuild)) } if (viteEnv.VITE_USE_COMPRESS) { plugins.push(viteCompression({ algorithm: viteEnv.VITE_COMPRESS_TYPE || 'gzip' })) } if (isBuild) { plugins.push( visualizer({ open: false, gzipSize: true, brotliSize: true, }) ) } if (viteEnv.VITE_SENTRY) { plugins.push( sentryVitePlugin({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'sentry', project: 'jdt-admin', url: 'https://w.huakk.top', sourcemaps: { ignore: ['node_modules'], filesToDeleteAfterUpload: ['dist/**/*.js.map'], }, }) ) } return plugins }