require.context实现前端工程自动化
如果遇到从一个文件夹引入很多模块的情况,可以使用这个api,它会遍历文件夹中的指定文件,然后自动导入,使得不需要每次显式的调用import导入模块。
一、使用require.context的场景
(1)需要导入一个文件夹下面的所有文件
(2)路由中导入各个组件文件
如果项目变大了之后,每次手动import会显得有些力不从心,这里可以使用require.context函数遍历modules文件夹的所有文件一次性导入到index.js中
二、require.context分析
语法: require.context(directory, useSubdirectories = false, regExp = /^.//);
require.context函数接受三个参数
directory {String} -读取文件的路径
useSubdirectories {Boolean} -是否遍历文件的子目录
regExp {RegExp} -匹配文件的正则
三、实例说明
如上图所示,将mock文件夹下面的 mock1 和 mock2组件导入
text_require.vue
<template><div><!-- 全部加入 --><component v-for="comp in comps" :key="comp.id" :is="allComps[comp]"></component><!-- 单个加入 --><component :is="allComps['mock1']"> </component></div>
</template>
<script>
import resultComps from '../components/mock/index';// 同理可以动态引入 图片
export default {name: 'TextEP',data () {return {comps: ['mock1', 'mock2'],allComps: resultComps}}
}
</script><style lang="less" scoped>
img {width: 100%;
}
</style>
mock1.vue
<template><div class="test-Prolo"><div>马优晨测试试试~~~~</div><div class="test-border"></div></div>
</template><script>
export default {data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style lang="less" scoped>
.test-Prolo {background: #2c3e50;
}.test-border {height: 0.5rem;position: relative;
}.test-border:before {content: "";position: absolute;top: -0.5rem;left: 0;width: 100%;height: 1px;border-top: 1px solid rgba(255, 255, 255, 0.3);transform: scaleY(0.5);
}
</style>
mock2.vue
<template><div class="test-Prolo"><div>马优晨测试试试~~~~</div><div class="test-border"></div></div>
</template><script>
export default {data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style lang="less" scoped>
.test-Prolo {background: #2c3e50;
}.test-border {height: 0.5rem;position: relative;
}.test-border:before {content: "";position: absolute;top: -0.5rem;left: 0;width: 100%;height: 1px;border-top: 1px solid rgba(255, 255, 255, 0.3);transform: scaleY(0.5);
}
</style>
index.js
const resultComps = {}
let requireComponent = require.context('./', // 在当前目录下查找false, // 不遍历子文件夹/\.vue$/ // 正则匹配 以 .vue结尾的文件
)
requireComponent.keys().forEach(fileName => {let comp = requireComponent(fileName)resultComps[fileName.replace(/^\.\/(.*)\.\w+$/, '$1')] = comp.default
})
export default resultComps
require.context实现前端工程自动化相关推荐
- 使用require.context实现前端工程自动化
require.context介绍 require.context是一个webpack的api,通过执行require.context函数获取一个特定的上下文,主要用来实现自动化导入模块,在前端工程中 ...
- vue require图片_手把手教你使用require.context实现前端自动化
随便记录一些东西,如有错误欢迎指出 作者:心_c2a2 转发链接:https://www.jianshu.com/p/c894ea00dfec require.context是什么 一个webpack ...
- (bower、grunt、gulp、jspm、karmam、webpack) 前端工程自动化开发工具
gulp 是工具链,可以配合各种插件做js压缩,css压缩,less编译等工作 webpack 是文件打包工具,可以把项目的各种js文.css文件等打包合并成一个或多个文件 bower 是包管理器,用 ...
- vue3 require.context 实现基础组件的自动化全局注册 模块自动化加载(霸霸看了都说好)
在日常开发中,有一些组件是比较常用,但是为了避免在开发过程中不停地引入,或者在main.js中注册,,或者每添加一个组件就需要手动注册一次.则直接进行自动化全局注册. 由于全局注册的行为必须在根 Vu ...
- require.context
1.什么是 require.context 一个 webpack 的 api ,通过该函数可以获取一个上下文,从而实现工程自动化(遍历文件夹的文件,从中获取指定文件,自动导入模块). 在前端工程中,如 ...
- Vue中两个让你幸福感爆棚的组件导入小技巧之require.context
前言 小伙伴们大家好,在上一篇文章Vue中两个让你幸福感爆棚的组件导入小技巧之循环代替Ctrl C/V(独家总结)中我们已经学习了一个注册全局组件的小技巧,使得我们在注册大量全局组件时不再被Vue.u ...
- 基于webpack搭建前端工程解决方案探索
关于前端工程 \\ 下面是百科关于"软件工程"的名词解释: \\ \ 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科. \ \\ 其中,工程化是方法,是 ...
- Gulp vs Grunt 前端工程构建工具
Gulp vs Grunt 前端工程的构建工具对比 1. Grunt -> Gulp 早些年提到构建工具,难免会让人联想到历史比较悠久的Make,Ant,以及后来为了更方便的构建结构类似的Jav ...
- 前端工程基础知识点--Browserslist (基于官方文档翻译)
总结不出更好的了,感觉官方文档已经写得够清楚了,翻译的不好,请大家斧正 简介 browserslist 是在不同的前端工具之间共用目标浏览器和 node 版本的配置工具.它主要被以下工具使用: Aut ...
最新文章
- 授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
- 济南python工资一般多少钱-马哥教育官网-专业Linux培训班,Python培训机构
- mysql查询今天_昨天_7天_近30天_本月_上一月 数据_(转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据...
- 前端复习之JavaScript基础
- JavaScript事件基础知识总结【思维导图】
- oracle如何搜索字段类型,Oracle通过字段类型查询字段
- 基础01类与对象、封装、构造方法
- java timer指定线程池_Java 定时器(Timer)及线程池里使用定时器实例代码
- JEESZ分布式框架--单点登录集成方案
- 深入浅出Python闭包
- 数据中心 服务器管理规范,互联网技术详解 | 新时代数据中心管理标准Redfish
- 动力学系统simulink建模分析
- Maxthon2.5.10.2576 beta苦菜花增强优化防假死正式版(1031)
- c#语言打印九九乘法表,C#打印九九乘法表
- 困扰我两天的问题(nginx配置好ssl证书,https却不能访问)
- 2020国庆节法定假日是几天呢?
- VSLAM基础(七)————光束平差法Bundle Adjustment
- 箱形图的优缺点,python绘制箱形图
- 葫芦时刻_Hulu将提供离线观看(最终)
- b区计算机复试国家线,今年调剂太恐怖 B区考研分数线竟比A区高?
热门文章
- Leetcode PHP题解--D6 595. Big Countries
- 【转载】#pragma once与#ifndef #define #endif的区别
- cocos2dx--cocos2dx3.1.1执行报无法解析的外部符号
- 用户、组以及相关文件说明
- 创建VLAN的两种方法
- Drupal 自定义主题实体 Theming Custom Entities
- 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分
- 详解Django-auth-ldap 配置方法
- sql数据库的基本操作
- Deep learning:五(regularized线性回归练习)