123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import type { PluginOption } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { configViteMockServePlugin } from './viteMockServe'
- import { configHtmlPlugin } from './html'
- import { configUnocssPlugin } from './unocss'
- import { componentResolverPlugin } from './componentResolver'
- import { autoImportPlugin } from './autoImport'
- import { autoVconsolePlugin } from './autoVconsole'
- import { unpluginIcons } from './unpluginIcons'
- import { compressionPlugin } from './compression'
- export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
- const { VITE_USE_MOCK, VITE_USE_GZIP } = viteEnv
- const vitePlugins: (PluginOption | PluginOption[])[] = [
- vue(),
- componentResolverPlugin(),
- autoImportPlugin()
- // use vueJsx
- // vueJsx(),
- ]
- // vite-plugin-html
- vitePlugins.push(configHtmlPlugin(viteEnv, isBuild))
- // unocss https://uno.antfu.me/
- vitePlugins.push(configUnocssPlugin())
- // svg icons
- vitePlugins.push(unpluginIcons())
- // console
- vitePlugins.push(autoVconsolePlugin(isBuild))
- // 压缩
- vitePlugins.push(compressionPlugin(VITE_USE_GZIP))
- // mock
- VITE_USE_MOCK && vitePlugins.push(configViteMockServePlugin(isBuild, VITE_USE_MOCK))
- return vitePlugins
- }
|