vue批量引入组件
方式一,在页面引入的方式
function camelCase(s) {
return s.replace(/-\w/g,function(x){
return x.slice(1).toUpperCase()
})
}
const allComponents = require.context(
'../components',
true,
/\.vue$/
)
let resComponents = {}
allComponents.keys().forEach(comName=>{
let name = camelCase(comName)
const comp = allComponents(comName)
resComponents[name.replace(/^\.\/(.*)\.\w+$/,"$1")] = comp.default
})
export default resComponents
方式二:全局方式
const requireComponent = require.context(
// 其组件目录的相对路径
'./components',
// 是否查询其子目录
true,
// 匹配基础组件文件名的正则表达式
/\.vue$/
)
// console.log('实时',requireComponent);
requireComponent.keys().forEach(fileName => {
// console.log('fie',fileName);
// 获取组件配置
const componentConfig = requireComponent(fileName)
// 全局注册组件
Vue.component(
componentConfig.default.name, // 此处的name,是组件属性定义的name
// 如果这个组件选项是通过 `export default` 导出的,
// 那么就会优先使用 `.default`,
// 否则回退到使用模块的根。
componentConfig.default
)
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)