Vue一次性简洁明了引入所有公共组件的方法


Posted in Javascript onNovember 28, 2018

使用场景

-在开发过程中,往往会有很多自己定义公用组件,我们通过import 导入,components挂载到实例上就行,项目刚开始还好,但是随着项目迭代,组件越来越多,同一个组件不同的方式用需要重复导入挂载,就显得冗余

这里是通过require.context的一种便捷操作

实例

文件结构

Vue一次性简洁明了引入所有公共组件的方法

component/modal里存放的是我们定义的公共DOM组件

// 导入Vue, 需要使用Vue.component()方法注册组件
import Vue from 'vue'

// let f = r => {
//  return r.keys().map(key => r(key));
// }
//
// console.log(f(require.context('./modal', true, /\.vue/)));

// 将 ./modal 下的所有组件全部读取出来
//
//
// requireComponents: ƒ webpackContext(req) {
//   return __webpack_require__(webpackContextResolve(req));
// }

/**
 * @var requireComponents -- requireComponents保存每个文件的相对路径的集合,可通过keys()返回
 * @function requireComponents -- 也是个方法,传入keys()枚举出来的路径可返回组件实例
 */

const requireComponents = require.context('./', true, /\.vue/);
// 打印结果
// requireComponents: ƒ webpackContext(req) {
//   return __webpack_require__(webpackContextResolve(req));
// }
//

// 遍历出每个组件的路径
requireComponents.keys().forEach(fileName => {
 // 组件实例
 const reqCom = requireComponents(fileName)
 // 截取路径作为组件名
 const reqComName = fileName.split('/')[1]
 // 组件挂载
 Vue.component(reqComName, reqCom.default || reqCom)
})

具体的只要打印出来就一目了然,这里不做赘述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现在小方框中浏览大图的代码
Aug 14 Javascript
js Event对象的5种坐标
Sep 12 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
Nov 04 Javascript
javascript的列表切换【实现代码】
May 03 Javascript
JavaScript微信定位功能实现方法
Nov 29 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
Dec 19 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
JS集合set类的实现与使用方法示例
Feb 01 Javascript
JS实现网页端猜数字小游戏
Mar 06 Javascript
swiperjs实现导航与tab页的联动
Dec 13 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 #Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 #Javascript
微信小程序实现评论功能
Nov 28 #Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 #Javascript
小程序点击图片实现自动播放视频
May 29 #Javascript
django使用channels2.x实现实时通讯
Nov 28 #Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 #Javascript
You might like
模仿OSO的论坛(二)
2006/10/09 PHP
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
2013/06/06 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
js动态设置div的值下例子
2013/10/29 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
详解angular element()方法使用
2017/04/08 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
python使用cPickle模块序列化实例
2014/09/25 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python回调函数用法实例详解
2015/07/02 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
python自定义函数def的应用详解
2020/06/03 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
2014年大学生自我评价
2014/01/19 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
男人帮观后感
2015/06/18 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫