首页 > 其他分享 >动态导入封装的模块的方法

动态导入封装的模块的方法

时间:2024-09-12 11:15:52浏览次数:8  
标签:orgResult const ------------------ js 导入 模块 封装 post

具体架构应为,使用的方法为webpack的require的context()

  require.context(directory,useSubdirectories,regExp)

    1.directory(必需):要搜索的目录,可以是相对路径或绝对路径。

    2.useSubdirectories(可选):布尔值,指示是否还应该搜索子目录。默认值为true

    3.regExp(可选):一个正则表达式,用于匹配要导入的文件名。

  require.context()返回一个函数,该函数具有三个属性:

    1.resolve:接受一个参数(请求的模块路径),返回模块的解析路径。

    2.keys:返回指定上下文中所有模块的路径数组。

    3.id:上下文模块的标识符。

test

    |---modules

  |---dicts.js

  |---orgTree.js

    |---index.js

------------------index.js-----------------------

// 动态引入方法 const reqContext = require.context('./modules', false, /\.js$/) const moduleObj = {}
reqContext.keys().forEach((key) => {     const name = key.replace(/\.\/(.+)\.js$/, '$1')     moduleObj[name] = reqContext(key) }) module.exports = moduleObj   ------------------dicts.js------------------  import { post } from 'bw-utils/src/business/request/http' const getSysDict = (data) => {     return post({ url: '/sys/getSysDictBatch', prefix: '/moirai', data }) } module.exports = getSysDict   ------------------orgTree------------------ import { post } from 'bw-utils/src/business/request/http'   let orgResult = null const getOrgTree = async (data) => {     if (orgResult) return orgResult     orgResult = await post({         url: '/orgAndrole/getUserAuthOrgTree',         prefix: '/moirai',         data     })     return orgResult } module.exports = getOrgTree     3.文件中使用方法 import  {getSysDict,getOrgTree} from "@/api"

标签:orgResult,const,------------------,js,导入,模块,封装,post
From: https://www.cnblogs.com/jackdongdong/p/17800266.html

相关文章

  • 揭秘Profinet远程IO模块的神奇之处
    在这个智能化、自动化日益普及的时代,远程IO模块发挥着越来越重要的用。我们自主研发的MR20系列一体式IO也应运而生,那么,它究竟是什么呢?又能为我们带来哪些便利?让我们一起揭开它的神秘面纱!什么是Profinet协议Profinet协议是一种基于以太网的工业自动化通信协议,广泛应用于工业控制系统......
  • 说下Python中的各个多进程模块之间的区别
    在Python中,主要涉及多进程的模块有multiprocessing、concurrent.futures(使用ProcessPoolExecutor)和os模块。以下是这些模块之间的详细区别:1.multiprocessing模块简介:multiprocessing是Python的标准库之一,提供了创建和管理进程的功能。特点:进程类:提供P......
  • 说下Python中的各个多线程模块之间的区别
    在Python中,涉及多线程的主要模块有threading、thread(在Python2.x中使用)和concurrent.futures。以下是这些模块之间的详细区别:1.threading模块简介:threading是Python的标准库之一,提供了创建和管理线程的高级接口。特点:线程类:提供Thread类,用户可以通......
  • 学习笔记 | endnote导入
    1.txt导入在万方网站上碰到了导出txt格式的文件,打开以后格式如下为将它导入进入EndNote,可以将其后缀名,改为“.ciw”文件,双击点开该文件,即可将导出的文献加载到EndNote数据库中。2.下载过的PDF文献一键导入EndNote数据库对于已经下载好的文件(要求是PDF格式,最好是有DIO号,并且......
  • 项目日志——日志器模块的扩展,建造者类的设计、实现、测试
    文章目录建造者模式设计实现测试建造者模式建造者模式就是为了方便对象的构造,当零部件的构建和组装过于复杂时,就需要建造者模式来帮帮忙这里我们的日志器很适合,但是也没有特别复杂,所以可以对整个设计模式进行简化,不需要指挥者,直接使用建造者进行组装因为指挥者主......
  • 脂肪秤方案以CSU18M91四电极测脂模块开发
    一台脂肪秤通过测试体重、体脂、BMI、水分等数据并给出相应提示,并且许多人都将体脂检测数据作为身体健康指数衡量标准,辅助用户来关注身体健康,同时可以通过蓝牙与手机APP应用相连,记录日常身体变化情况,根据变化情况推荐用户饮食计划+运动计划。人体脂肪秤的原理是肌肉内含......
  • 脂肪秤方案以CSU18M91四电极测脂模块开发
    一台脂肪秤通过测试体重、体脂、BMI、水分等数据并给出相应提示,并且许多人都将体脂检测数据作为身体健康指数衡量标准,辅助用户来关注身体健康,同时可以通过蓝牙与手机APP应用相连,记录日常身体变化情况,根据变化情况推荐用户饮食计划+运动计划。人体脂肪秤的原理是肌肉内含有较多血液......
  • 【硬件模块】DS18B20温度传感器
    DS18B20是只需要一根通讯线的温度传感器。首先先看看它的通信时序,一共就仨,初始化时序,写时序,读时序。第一个,初始化时序,我们(MCU)先拉低总线最少480us,然后释放总线(拉高)。DS18B20收到上升沿之后会在15~60us之后把总线拉低,拉低60~240us之后再释放总线。这样一套流程下来我们就......
  • logging模块用于记录日志的标准库
    日志级别是监控和调试软件系统的关键组成部分,它们帮助开发者和运维人员区分不同严重程度的信息,从而更有效地响应和解决问题。以下是日志级别的详细说明及如何在Python中使用它们的示例。日志级别分类日志级别按严重程度从低到高排序如下:DEBUG:用于记录详细的调试信息,通常在开......
  • VD1013 DFN小封装芯片 适用于小电流的输出的电池保护芯片
            VD1013内置高精度电压检测电路和延迟电路以及内置MOSFET,是用于单节锂离子/锂聚合物可再充电电池的保护IC。        本IC适合于对1节锂离子/锂聚合物可再充电电池的过充电、过放电和过电流进行保护   。VD1013具备如下特点:高精度电压检测电路......