wireguard-dashboard-admin/build/plugin/index.js

56 lines
1.3 KiB
JavaScript
Raw Normal View History

2022-01-08 17:20:46 +08:00
import vue from '@vitejs/plugin-vue'
2022-04-08 19:35:22 +08:00
/**
* * 扩展setup插件支持在script标签中使用name属性
* usage: <script setup name="MyComp"></script>
*/
import VueSetupExtend from 'vite-plugin-vue-setup-extend'
/**
* * 组件库按需引入插件
* usage: 直接使用组件,无需在任何地方导入组件
*/
import Components from 'unplugin-vue-components/vite'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
2022-04-08 19:35:22 +08:00
/**
* * unplugin-icons插件自动引入iconify图标
* usage: https://github.com/antfu/unplugin-icons
* 图标库: https://icones.js.org/
*/
import Icons from 'unplugin-icons/vite'
2022-04-19 21:50:19 +08:00
// rollup打包分析插件
import visualizer from 'rollup-plugin-visualizer'
import { unocss } from './unocss'
2022-01-08 17:20:46 +08:00
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),
]
2022-01-08 17:20:46 +08:00
viteEnv?.VITE_APP_USE_MOCK && plugins.push(configMockPlugin(isBuild))
2022-04-19 21:50:19 +08:00
if (isBuild) {
plugins.push(
visualizer({
open: true,
gzipSize: true,
brotliSize: true,
})
)
}
2022-01-08 17:20:46 +08:00
return plugins
}