52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
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, isSENTRY) {
|
||
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 (isSENTRY) {
|
||
sentryVitePlugin({
|
||
authToken:
|
||
'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',
|
||
org: 'sentry',
|
||
project: 'jdt-admin',
|
||
url: 'https://w.huakk.top',
|
||
})
|
||
}
|
||
|
||
return plugins
|
||
}
|