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 相关文章推荐
Hutia 的 JS 代码集
Oct 24 Javascript
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
Feb 06 Javascript
JS实现选项卡实例详解
Nov 17 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
详解JS模块导入导出
Dec 20 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
JavaScript实现英语单词题库
Dec 24 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.ini中文版
2006/10/09 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php绘制一条直线的方法
2015/01/24 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
跟老齐学Python之折腾一下目录
2014/10/24 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
几道数据库的概念性面试题
2014/05/30 面试题
桥梁工程专业求职信
2014/04/21 职场文书
说明书怎么写
2014/05/06 职场文书
会计师事务所实习证明
2014/11/16 职场文书
关于长城的导游词
2015/01/30 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
redis 查看所有的key方式
2021/05/07 Redis
python Tkinter模块使用方法详解
2022/04/07 Python