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 相关文章推荐
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
jquery对dom的操作常用方法整理
Jun 25 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
javascript结合canvas实现图片旋转效果
May 03 Javascript
使用Node.js配合Nginx实现高负载网络
Jun 28 Javascript
百度地图API之本地搜索与范围搜索
Jul 30 Javascript
理解javascript模块化
Mar 28 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
Nov 20 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
php中{}大括号是什么意思
2013/12/01 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
php三元运算符知识汇总
2015/07/02 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
python中pyplot基础图标函数整理
2020/11/10 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
餐饮主管岗位职责
2013/12/10 职场文书
重点工程汇报材料
2014/08/27 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
公司保密管理制度
2015/08/04 职场文书
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
python多次执行绘制条形图
2022/04/20 Python