refactor: 重构图标使用方式,集成自定应图标

This commit is contained in:
张传龙
2022-06-19 13:35:36 +08:00
parent 00ba77c15e
commit f88b4f52a1
19 changed files with 79 additions and 144 deletions

View File

@@ -6,20 +6,6 @@ import vue from '@vitejs/plugin-vue'
*/
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'
/**
* * unocss插件原子css
* https://github.com/antfu/unocss
@@ -31,20 +17,14 @@ import visualizer from 'rollup-plugin-visualizer'
import { configHtmlPlugin } from './html'
import { configMockPlugin } from './mock'
import unplugin from './unplugin'
export function createVitePlugins(viteEnv, isBuild) {
const plugins = [
vue(),
VueSetupExtend(),
Components({
resolvers: [NaiveUiResolver()],
}),
Icons({ compiler: 'vue3', autoInstall: true }),
configHtmlPlugin(viteEnv, isBuild),
Unocss(),
]
const plugins = [vue(), VueSetupExtend(), ...unplugin, configHtmlPlugin(viteEnv, isBuild), Unocss()]
viteEnv?.VITE_APP_USE_MOCK && plugins.push(configMockPlugin(isBuild))
if (viteEnv?.VITE_APP_USE_MOCK) {
plugins.push(configMockPlugin(isBuild))
}
if (isBuild) {
plugins.push(

28
build/plugin/unplugin.js Normal file
View File

@@ -0,0 +1,28 @@
import Components from 'unplugin-vue-components/vite'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
import { FileSystemIconLoader } from 'unplugin-icons/loaders'
import IconsResolver from 'unplugin-icons/resolver'
/**
* * unplugin-icons插件自动引入iconify图标
* usage: https://github.com/antfu/unplugin-icons
* 图标库: https://icones.js.org/
*/
import Icons from 'unplugin-icons/vite'
import { getRootPath } from '../utils'
const customIconPath = getRootPath('src', 'assets/icons')
export default [
Icons({
compiler: 'vue3',
customCollections: {
custom: FileSystemIconLoader(customIconPath),
},
scale: 1,
defaultClass: 'inline-block',
}),
Components({
resolvers: [NaiveUiResolver(), IconsResolver({ customCollections: ['custom'], componentPrefix: 'icon' })],
}),
]