import vue from '@vitejs/plugin-vue' /** * * 扩展setup插件,支持在script标签中使用name属性 * usage: */ import VueSetupExtend from 'vite-plugin-vue-setup-extend' /** * * 组件库按需引入插件 * usage: 直接使用组件,无需在任何地方导入组件 */ import Components from 'unplugin-vue-components/vite' import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' /** * * unplugin-icons插件,自动引入iconify图标 * usage: https://github.com/antfu/unplugin-icons * 图标库: https://icones.js.org/ */ import Icons from 'unplugin-icons/vite' import { unocss } from './unocss' import { configHtmlPlugin } from './html' import { configMockPlugin } from './mock' export function createVitePlugins(viteEnv, isBuild) { const plugins = [ vue(), VueSetupExtend(), Components({ resolvers: [NaiveUiResolver()], }), Icons({ compiler: 'vue3', autoInstall: true }), unocss(), configHtmlPlugin(viteEnv, isBuild), ] viteEnv?.VITE_APP_USE_MOCK && plugins.push(configMockPlugin(isBuild)) return plugins }