今天有一个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
)
})
}

最新文章

  1. 为什么带网格(mesh)的模型添加了刚体Rigidbody和MeshCollider,还是会从地板穿过去?
  2. 2014 Super Training #2 F The Bridges of Kolsberg --DP
  3. Convert和Parse对null值处理的区别
  4. Objective-C:@class和#import
  5. EJB3Persistence开发手册-原生SQL查询(NativeSQL)
  6. Android布局中的空格以及占一个汉字宽度的空格的实现
  7. NSStringUIImage~NSData的相互转换以及中文转码
  8. Choosing Between ElasticSearch, MongoDB & Hadoop
  9. Android 4.0以后正确的获取外部sd卡存储目录
  10. JAVA基础——编程练习(一)
  11. mybatis 一对多和多对一关联查询
  12. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
  13. Chapter 3 Introduction to Objects and Input/Output
  14. 记录MySQL的一些基础操作
  15. 关于解决Python中requests模块在PyCharm工具中导入问题
  16. TiKV 源码解析系列文章(三)Prometheus(上)
  17. [IOI 2000]POJ 1160 Post Office
  18. 数据结构(三)串---KMP模式匹配算法之获取next数组
  19. vcenter建立cluster
  20. mysql insert if not exists防止插入重复记录的方法(转)

热门文章

  1. 19条常用的MySQL优化方法(转)
  2. 2017 ACM/ICPC Asia Regional Shenyang Online E number number number 题解
  3. 集合类源码(三)Collection之List(CopyOnWriteArrayList, Stack)
  4. 34 个今年11月最受欢迎的 JavaScript 库
  5. Java学习:IO流
  6. node、npm、gulp安装
  7. 用node发布一个包
  8. ASP.NET Core使用Quartz定时调度
  9. Spring Boot2(八):性感banner,在线发牌
  10. 【案例】电子生产中的排程问题如何解决?APS助力智能化排产