批量注册全局组件
const modulesComponent = import.meta.globEager('../components/*.vue')
function changeStr (str) {
return str.charAt(0).toUpperCase() + str.slice(1)
}
const install = (app) => {
Object.keys(modulesComponent).forEach(filename => {
const componentName = changeStr(
filename.replace(/^\.\.\/components\//, '').replace(/\.\w+$/, '')
)
const component=modulesComponent[filename].default || modulesComponent[filename]
app.component(componentName,component)
})
}
export default install
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import moudles from './components/index'
app.use(moudles)
加载全局icon
npm install --save @ant-design/icons-vue
import * as antIcons from '@ant-design/icons-vue'
export default (app) => {
Object.keys(antIcons).forEach(key => {
app.component(key, antIcons[key])
})
}
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import Icons from './components/Icon/index'
app.use(Icons)
Icon图标