Vue.use
Vue.use(plugin: Object|Function)
当plugin是Object时,会找plugin中的install方法(plugin对象中必须提供install方法),再自动传入参数Vue,并执行该install方法
当plugin是Function时,会自动传入参数Vue,并执行该函数
常和注册组件的component搭配,用来全局注册自定义组件;或者注册UI框架的组件
|-components
|--- Icon
|--- index.vue
|--- index.ts
|-main.ts
// index.ts
import Icon from './index.vue'
export default {
install(vue: Vue) {
vue.component('Icon ', Icon)
}
}
// main.ts
import Icon from '@/component/Icon'
Vue.use(Icon)
如果用vite打包的话,通过vite下特有的import.meta.glob
或者import.meta.globEafer
,还可以实现批量注册
glob
const modules = import.meta.glob('./src/*.js');
// vite 生成的代码
const modules = {
'./src/foo.js': () => import('./src/foo.js'),
'./src/bar.js': () => import('./src/bar.js')
}
通过遍历来注册组件
Object.keys(modules).forEach(url => {
Vue.use(modules[url].default)
})
globEafer
const modules = import.meta.glob('./src/*.js');
// vite 生成的代码
import * as __glob__0_0 from './src/foo.js'
import * as __glob__0_1 from './src/bar.js'
const modules = {
'./src/foo.js': __glob__0_0,
'./src/bar.js': __glob__0_1
}