vue防抖注册全局_Vue自动化注册全局组件脚本

今天有一个idea,vue一些组件,可能会全局都用到,我觉得在main.js写

Vue.component(name, instance)

然后很命令式,写着也不好看,想着能够有一个函数可以指定加载比如components下的文件,自动完成全局化注册,想起来就很帅

放代码:

export function autoLoadingGlobalComponent() {

const requireComponent = require.context(

// 其组件目录的相对路径

‘../components‘,

// 是否查询其子目录

false,

// 匹配vue后缀文件名的文件

/\.vue$/

)

// 遍历获取到的文件名,依次进行全局注册

requireComponent.keys().forEach(fileName => {

// 获取组件配置(实例)

const componentConfig = requireComponent(fileName)

// 获取组件的 PascalCase 命名(eg: MYHeader)

const componentName = _.upperFirst(

// 获取驼峰式命名

_.camelCase(

// 剥去文件名开头的 `./` 和结尾的扩展名 eg: ./food-header.vue -> foodHeader

fileName.replace(/^\.\/(.*)\.\w+$/, ‘$1‘)

)

)

// 全局注册组件

Vue.component(

componentName,

// 如果这个组件选项是通过 `export default` 导出的,

// 那么就会优先使用 `.default`,

// 否则回退到使用模块的根。

componentConfig.default || componentConfig

)

})

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值