小程序插件引入宿主的函数

devtools/2024/9/23 9:01:25/

微信小程序的插件和宿主应用是独立的,插件无法直接通过 require 引用宿主应用中的文件。错误信息 Plugin module "" is not defined 表明你尝试在插件中使用了 require 来加载一个不存在的模块。

当需要在插件中使用宿主的某些方法时,必须通过宿主的 app.json 配置指定的导出机制来实现。这意味着宿主会显式地定义哪些方法是可以供插件使用的,并在一个特定的 export 文件中将这些方法导出。

这是一个典型的导出和使用方法的流程:

  1. 宿主应用暴露方法
    在宿主应用的项目内部创建一个用于暴露方法的文件(如 export.js)。
// 宿主应用的 export.js
const aplus = require('./utils/aplus')module.exports = {getAplusCTX() {// 返回所需对象或数据return aplus;},// 其他要暴露的方法...
}
  1. 宿主应用的 app.json 指定导出文件
    在宿主应用的 app.json 文件中,使用 export 字段指定上面创建的文件。
// 宿主应用的 app.json
{"plugins": {"myPlugin": {"provider": "wx1234567890abcdef","version": "1.0.0","export": "export.js"}},// ...其它配置
}
  1. 插件中访问宿主暴露的方法
    在插件中需要访问这些方法的地方,使用小程序提供的导出机制获取这些方法。
// 插件代码
const aplusContext = requireMiniProgram().getAplusCTX();

直接通过路径的方式引用肯定是不可以的,插件是不允许直接引用宿主应用目录下的文件。
这里通过requireMiniProgram方法来进行调用。

如果你实在想要在开发阶段方便的使用宿主应用中的工具或库,你可以考虑复制你想使用的文件到插件的目录中再进行 require。这不是官方推荐的做法,并且不适用于生产环境,因为这样会导致代码重复和同步问题,推荐还是使用宿主应用的 export 机制。


http://www.ppmy.cn/devtools/5535.html

相关文章

多头蜗杆的轴截面和端截面的关系

最近有一个点,之前没有注意,就是多头蜗杆的导程与齿距的关系,它们会影响蜗杆断截面的形状,是不是听的有点别扭,往下看: 上图是一个蜗杆的轴剖面齿形,看到这个图形,如果看不到蜗杆实物…

【AcWing】蓝桥杯集训每日一题Day28|组合计数|二项式定理|杨辉三角|211.计算系数(C++)

211.计算系数 211. 计算系数 - AcWing题库难度:简单时/空限制:1s / 64MB总通过数:3703总尝试数:7790来源:《算法竞赛进阶指南》NOIP2011提高组算法标签二项式定理组合计数 题目内容 给定一个多项式 ( a x b y ) k …

HTML段落标签、换行标签、文本格式化标签与水平线标签

目录 HTML段落标签 HTML换行标签 HTML格式化标签 加粗标签 倾斜标签 删除线标签 下划线标签 HTML水平线标签 HTML段落标签 在网页中&#xff0c;要把文字有条理地显示出来&#xff0c;就需要将这些文字分段显示。在 HTML 标签中&#xff0c;<p>标签用于定义段落…

【QT教程】QT6与Python

QT6与Python 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免费QT视…

将闲置的windows硬盘通过smb共享的方式提供给mac作为时间机器备份

1.windows端&#xff0c;开启smb共享 自行解决 2.mac端 磁盘工具-文件-新建映像-空白映像 假设你的名字为&#xff1a;backup 大小&#xff1a;350GB&#xff08;自己修改&#xff09; 格式&#xff1a;MacOS扩展&#xff08;日志式&#xff09; 分区&#xff1a;单个分区-A…

设计模式:代理模式

文章目录 一、什么是代理模式二、代理模式的结构1、介绍2、代码实现样例&#xff08;1&#xff09;静态代理&#xff08;2&#xff09;动态代理 三、代理模式的应用场景 一、什么是代理模式 为某一个对象提供一个代理或占位符&#xff0c;并由代理对象来控制对原对象的访问。 …

一步一步学习使用 MediaSource 实现动态媒体流

学习前的参考 为什么视频网站的视频链接地址是blob&#xff1f; - 掘金 MediaSource - Web API 接口参考 | MDN 在示例中前往下载源代码&#xff1a; netfix/demo/bufferWhenNeeded.html at gh-pages nickdesaulniers/netfix GitHub 下载 demo 目录&#xff0c;对 bufferW…

Spring+SpringMVC的知识总结

一:技术体系架构二:SpringFramework介绍三:Spring loC容器和核心概念3.1 组件和组件管理的概念3.1.1什么是组件:3.1.2:我们的期待3.1.3Spring充当组件管理角色(IOC)3.1.4 Spring优势3.2 Spring Ioc容器和容器实现3.2.1普通和复杂容器3.2.2 SpringIOC的容器介绍3.2.3 Spring IOC…