1.方法一

代码演示

代码如下(示例): 在src/components文件夹下新建 xxx文件夹,xxx文件夹下新建index.vue

<template>
	<div>
		自定义的全局组件
    </div>
</template>

main.js中引入,注册为全局组件。

// 省略其他
// 引入
import 组件名 from '@/components/xxx'
// 注册为全局组件
Vue.component('组件名',组件名)

2.方式二

代码演示

代码如下(示例): 在src/components文件夹下新建yyy文件夹,在yyy文件夹下新建index.vue文件

<template>
	<div>
		通过注册插件的方式,注册全局组件
	</div>
</template>

src/components文件夹下新建index.js文件

// 引入写好的全局组件
import 组件名1 from './xxx'
import 组件名2 from './yyy'
// 默认导出插件
export default {
	install: function(Vue) {
		console.log('自定义的插件~')
		// 在自定义的插件中注册为全局组件
		Vue.component('组件名1',xxx)
		Vue.component('组件名2',yyy)
		// 也可以往Vue的原型对象上添加属性或者方法,名字可以自定义
		// 在其他.vue结尾的文件中,可以通过this,访问自己添加的属性和方法
		Vue.prototype.num = 10
		Vue.prototype.$sayHi = () => {
			alert('Hi~')
		}
	}
}
import Page from './Page/index.vue';
import KfLayout from './Layout/index.vue';
import Form from './Form/index.vue';
import Table from './Table/index.vue';
import Dialog from './Dialog/index.js';
 
const components = {
	Page,
	KfLayout,
	"kf-form": Form,
	"kf-table": Table,
};
 
export default {
	install: function(Vue) {
	    Object.keys(components).forEach(key => {
	      Vue.component(key, components[key]);
	    });
	    Vue.use(Dialog);
	}
}

main.js文件下,使用该插件。

import Vue from 'vue'
// 导入写好的自定义插件
import myCom from '@/components'
Vue.use(myCom)