当前位置: 首页 > news >正文

webpack 中 require.context() 的用法

一、什么是 require.context

It allows you to pass in a directory to search, a flag indicating whether subdirectories should be searched too, and a regular expression to match files against.
– webpack 官方说明

  • 一个 webpack 的 api ,通过该函数可以获取一个上下文,从而实现工程自动化(遍历文件夹的文件,从中获取指定文件,自动导入模块)。
  • 在前端工程中,如果一个文件夹中的模块需要频繁引用时可以使用该中方式一次性引入

二、如何使用

  • 语法
require.context(directory,(useSubdirectories = true),(regExp = /^\.\/.*$/),(mode = 'sync')
);// 示例
require.context('./test', false, /\.test\.js$/);
// a context with files from the test directory that can be required with a request ending with `.test.js`.
  • 参数说明
参数类型说明
dirnameString需要读取模块的文件的所在目录
useSubdirectoriesBoolean是否遍历子目录
RegExpRegExp匹配的规则(正则表达式)
  • 返回值

导出的函数有 3 个属性: resolve, keys, id.如下表所示

属性类型说明
resolveFunction接受一个参数request,request为文件夹下面匹配文件的相对路径,返回这个匹配文件相对于整个工程的相对路径
keysFunction返回一个数组,由匹配成功的文件所组成的数组
idString执行环境的 id
  • 用法示例
function importAll(r) {r.keys().forEach(r);
}importAll(require.context('../components/', true, /\.js$/));

相关文章:

  • 力扣刷题笔记
  • Redis连接池配置:深入探索JedisPoolConfig
  • create-react-app创建的项目中设置webpack配置
  • 【科技前沿】电子设计新贵SmartEDA:为何它引领行业风潮?
  • 物联网 IoT 收录
  • 等保测评练习10
  • 程序员系统入门大模型的路径和资源,看这篇就够了
  • 道路救援小程序源码
  • 把sql拿到数据库中执行,和程序返回的值不一样??????
  • 深度学习工具jupyter的new没有环境选项以及遇到的EnvironmentLocationNotFound:Not such a environment
  • Nginx实现动静分离
  • 赋能AI未来,景联文科技推出高质量亿级教育题库、多轮对话以及心理大模型数据
  • 信息检索(53):Document Expansion by Query Prediction
  • Spring框架学习笔记(本地印象笔记搬运)(整理中)
  • TensorRT-LLM加速框架的基本使用
  • 【mysql】环境安装、服务启动、密码设置
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 77. Combinations
  • Android 架构优化~MVP 架构改造
  • Create React App 使用
  • fetch 从初识到应用
  • golang中接口赋值与方法集
  • GraphQL学习过程应该是这样的
  • java小心机(3)| 浅析finalize()
  • Laravel 中的一个后期静态绑定
  • Travix是如何部署应用程序到Kubernetes上的
  • Xmanager 远程桌面 CentOS 7
  • 从伪并行的 Python 多线程说起
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 关于extract.autodesk.io的一些说明
  • 聚类分析——Kmeans
  • 开源地图数据可视化库——mapnik
  • 那些年我们用过的显示性能指标
  • 排序算法学习笔记
  • 为什么要用IPython/Jupyter?
  • 我这样减少了26.5M Java内存!
  • 小程序测试方案初探
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #HarmonyOS:Web组件的使用
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)JAVA中的堆栈
  • ******之网络***——物理***
  • *p++,*(p++),*++p,(*p)++区别?
  • .aanva
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Micro Framework 4.2 beta 源码探析
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • [ solr入门 ] - 利用solrJ进行检索
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用