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
}

posted on 2022-09-27 21:42  In-6026  阅读(27)  评论(0编辑  收藏  举报

导航