1.在全局组件 components文件夹下新增 global.js文件 该文件为全局组件配置文件,文件内容如下:
important Vue from 'vue'
function changeStr (str) {
//charAt 去字符的第一个自检 abc => Abc
return str.charAt(0).toUpperCase() + str.slice(1)
}
//require.context(a,b,c) a => 目录 b => 是否有子目录 c => 匹配文件的正则
const requireComponent = require.context('.', false, /\.vue$/)
requireComponent.keys().forEach(fillName => {
//第i个
const config = requireComponent(fillName)
const componentName = changeStr(
fillName.replace(/^\.\//,'').replace(/\.\w+$/,'')
)
Vue.component(componentName, config.default || config)
})创建该文件之后,就可以直接在components文件内编写全局组件,由于require.context( )中的第二个参数填写的是false,所以所有组件都需要以 vue 文件的形式直接存放在components文件下
2.在main.js全局引入该global.js
注意:注册全局组件会带来性能的损耗,所以需要清除该方法的使用场景,只有在组件频繁使用的情况下适
合使用,比如一些表格、弹框、提示框、输入框等组件