-
在src 目录下创建从components文件夹,用以存放基础公用组件。
-
在components文件夹下创建autoRegister.js文件,用来获取所有文件,实现自动注册组件,代码如下:
autoRegister.js:
// autoRegister.js /** * 全局组件自动注册 * * 全局组件各个组件按文件夹区分,文件夹名称与组件名无关联,但建议与组件名保持一致 * 文件夹内至少保留一个文件名为 index 的组件入口,例如 index.vue * 组件必须设置 name 并保证其唯一,自动注册会将组件的 name 设为组件名,可参考 SvgIcon 组件写法 * 如果组件是通过 js 进行调用,则确保组件入口文件为 index.js,可参考 ExampleNotice 组件 */ import Vue from 'vue' const componentsContext = require.context('./',true,/index.(vue|js)$/) componentsContext.keys().forEach(file_name => { console.log("------组件-----",componentsContext(file_name).default); // 获取文件中的 default 模块 (若是.vue文件,则componentConfig就是一个vue组件) const componentConfig = componentsContext(file_name).default if((/.vue$/).test(file_name)){//vue文件 Vue.component(componentConfig.name,componentConfig)//组件全局注册: Vue.component(注册的名称,vue组件) }else{ //js文件 Vue.use(componentConfig) } });
打印componentsContext(file_name).default内容如下:
-
在main.js 中引入autoRegister.js
-
在需要的地方直接使用
vue自动注册全局组件
最新推荐文章于 2024-04-09 11:17:01 发布