Vue深入之js文件全局声明和基础组件的全局注册

前言:有些时候,部分基础的js和vue组件会在不同的页面进行使用,但是每次只是用很少一部分,甚至只用一次,最后导致每个页面里面都会有很长一串的js或者基础组件的长列表,尤其在基础组件很多的时候,会让你头痛万分。下面将介绍如何进行全局注册(都是基于vue-cli)


1.js文件全局注册

    例如:把一个名为store.js的文件放在和main.js的同级目录下进行操作,先引入,再注册

    

    其他页面是使用方法:this.$Store

    

2.vue基础组件全局注册

    例如:在components的文件下创建一个base文件夹存放需要全局注册的基本组件(baseInput.vue  baseSelect.vue)

    

    在main.js文件添加以下代码:

import upperFirst from 'lodash/upperFirst'          
import camelCase from 'lodash/camelCase'      //因为在组件名字处理的时候会用到lodash的部分,所以引入



const requireComponent = require.context(
  './components/base',   //当前基础组件相对与main.js的相对位置
  false,   //是否查询子目录
  /base[A-Z]\w+\.(vue|js)$/     //匹配基础组件的名字的正则,如果base里面的组件都是基础组件,那么只需要将所有包含即可,这里因为我的组件都是base开头的
)
requireComponent.keys().forEach(fileName => {
  const componentConfig = requireComponent(fileName)   //获取组建配置
  const componentName = upperFirst(       //获取组件的 PascalCase 命名
    camelCase(
      fileName.replace(/^\.\/(.*)\.\w+$/, '$1')           // 剥去文件名开头的 `'./` 和结尾的扩展名
    )
  )

  // 全局注册组件
  Vue.component(
    componentName,
    componentConfig.default || componentConfig
  )
})

在App.vue里试试


成功:


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值