【uniapp】H5和小程序动态导入模块的方法

news2024/11/16 15:48:30

做uniapp项目通常都是用import Module from "./../module.js"方式引用模块的,但是,这种方式是静态的,还是只能放在执行代码段的顶部(或者外部),若想放在代码中执行,那就会报错的,来看看如何解决吧。

各平台支持差异

方法名H5微信小程序
import()×
require()×

现在知道,H5项目可以用import().then()动态引入模块,而微信小程序就用require()动态导入。

在导入模块前,模块文件里的定义方式是这样的,代码如下

const template1 = {};
//...
export default {
	template1 
}

考虑到两个不同平台,就改成按条件编译,
例如,导入static文件夹里模块的方法实现,代码如下

importJsModuleFile(filename){
	return new Promise((resolve,reject)=>{
		// #ifdef H5
		import(`./../static/${filename}`).then(m=>resolve(m.default || m)).catch(reject);
		// #endif
		
		// #ifdef MP-WEIXIN
		try{
			const m = require(`./../static/${filename}`);
			resolve(m.default || m);
		}catch(err){
			reject(err)
		}
		// #endif
	});
}

如果require()引入模块报错 Cannot read property 'join' of null
疑是可能是文件相对路径填错了

编译微信小程序时,注意还要关闭依赖分析,
要关闭过滤无依赖,在uniapp项目里,找到配置文件manifost.json,以源码查看,"mp-weixin"这一项中 "settings" 选项添加两个属性

{
	//...
	ignoreDevUnusedFiles: false,
	ignoreUploadUnusedFiles: false}

参考 如何解决“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”报错

不知道如何使用吗? 代码如下

//动态加载模块static资源
importJsModuleFile(filename).then(resouce=>{
	console.log('template1', resouce)
	//...
}).catch(err=>console.error(err));

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序——生命周期,生命周期的分类,页面生命周期,生命周期函数的分类,应用的生命周期函数,页面的生命周期函数,wxs脚本概述

一.生命周期什么是生命周期生命周期( Life Cycle )是指一个对象从创建->运行->销毁的整个阶段,强调的是一个时间段。例如:.张三出生,表示这个人生命周期的开始.张三离世,表示这…

单源最短路的建图方式(Dijkstra)

由于是复习,所以不会解释太多。 主要为Dijkstra的堆优化板子和朴素版(看数据范围) 再次看看时间复杂度[ n 为点数,m 为边数 ]:朴素版:O(),堆优化版:O( (nm)logm )。 目录 1.热浪&…

CS专业学习回顾

前言 起因是想清理一下github的仓库,没错是清理,之前fork了很多仓库学习代码,还有自己随便上传的一些代码,因为感觉没有留着的必要,博客多少可以review,这些早期写的代码,如洪水猛兽&#xff0…

java集合类-操作集合

Collections(操作集合的工具类) 该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象1.设置为不可变、对集合对象实现同步控制等方法。自行看API即可。 2.有查找、替换集合元素的类方法。 有同步控制的方法&am…

使用 Python 深度学习方法对电影评论进行情绪预测

情感分析是一种自然语言处理问题,可以理解文本并预测潜在意图。 在本文中,你将了解如何使用 Keras 深度学习库将电影评论的情绪预测为正面或负面。 看完这篇文章,你会知道: 关于自然语言处理的 IMDB 情感分析问题以及如何在 Ke…

核心表结构

核心表结构目录概述需求:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive. happy for hardess to solve denp…

Android重新签名APK

前提已经配置好了Java环境。在要签名的apk文件目录路径位置,输入cmd,打开命令窗口。在命令窗口中输入jarsigner,有相应的提示。然后输入重新签名指令如下:jarsigner -verbose -keystore E:\tmc\keystore\androidsign.jks -signedj…

51单片机学习笔记-10IIC总线

10 I2C总线 [toc] 注:笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 10.1 AT24C02和I2C介绍 10.1.1 存储器介绍 图10-1 存储器分类 一般来说,RAM读写速度极快,但掉电丢失;而…

InfluxDB OSS v2.6.0安装使用小结(ubuntu Linux)

1 InfluxDB简介 InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库。 官网:https://www.influxdata.com 1.1 特色 InfluxDB的主要特色 1)无结构(无模式):可以是任意数量的列 2)可拓展的 3&…

学习云原生的阅读书单

以下是我从豆瓣阅读上找到的书单 《云原生服务网格lstio》 《云原生操作系统Kubernetes》 《OpenShift云原生架构:原理与实践》

[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI

光标位置 回忆上次内容 上次讲了 三引号的输出三引号中 回车和引号 都会 被原样输出\ 还是需要从 \\转义 黑暗森林 快被摸排清了 还有哪个 转义序列 没 研究过吗?🤔 \e是 干什么的?🤔 回忆转义 转义转义 转化含义 \反斜杠(…

CnOpenData劳务外包企业工商注册基本信息数据

一、数据简介 随着我国社会主义市场经济的发展,劳务市场中的用工方式也朝着多样化方向演变,劳务外包正是现代化人力资源管理和企业生产实际结合的一种独特的新模式。 在劳务外包过程中,企业将人事管理的部分或者全部工作外包给一个专门的服务…

Hadoop 复习 ---- chapter01【大数据概念】

Hadoop 复习 ---- chapter01【大数据概念】1. 什么是大数据大数据的简介从IT过渡到DT2. Hadoop生态系统工具HADOOPHBASEHIVESTORMZooKeeperSqoopMAHOUT1. 什么是大数据 大数据的简介 指“无法由现有软件工具进行提取、存储、搜索、共享、分析和处理的庞大而复杂的数据集”。 通…

【软件测试】某城商行手机银行授权漏洞分析黑客攻击,测试优化手段......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 问题描述 据报道&am…

【FreeRTOS】详细讲解FreeRTOS的软件定时器及通过示例讲述其用法

软件定时器 所谓定时器,也就可以类比生活中人们常用的闹钟,可以单次响铃提醒,也可以间隔固定时间响铃提醒;与FreeRTOS定时器不同的是周期不同,FreeRTOS的周期更加短,一般使用毫秒(ms)、秒(s)。   软件定时…

Python的数字类型、布尔类型和运算优先级

文章目录1.数字类型1.1分类1.2整数1.3浮点数1.4复数2.数字运算符2.1运算符表格2.2 运算符 //3.divmod()函数4.abs()函数4. int(),float() 和 complex() 函数5.pow()函数和运算符 **6.布尔类型6.…

NB-IoT的低功耗特性原理解说

什么是NB-IoT NB-IoT的中文名叫窄带蜂窝物联网(Narrow Band Internet of Things),NB-IoT网络是基于4G网络演进过来的,所以它在上行和下行的复用技术上还是沿用了4G的OFDMA和SC-FDMA。NB-IoT有三大特性:速率低,成本低,…

电脑风扇声音大怎么办?具体原因以及解决措施,快速解决

​很多小伙伴使用台式电脑,使用的时间长了,电脑机箱里的风扇就会发出一些噪音,很影响小伙伴的整体使用体验。电脑风扇声音大怎么办?具体的原因以及解决措施有哪些?下面就跟着小编一起来看看吧。 一、电脑风扇声音大的原…

数据挖掘,计算机网络、操作系统刷题笔记39

数据挖掘,计算机网络、操作系统刷题笔记39 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,orac…

Kibana最新版8.6.1安装教程

Kibana 让您能够自由地选择如何呈现自己的数据。不过借助 Kibana 的交互式可视化,您可以先从一个问题出发,看看能够从中发现些什么。查看完整的 Kibana 功能列表https://www.elastic.co/cn/kibana/featuresKibana的下载地址:https://www.elas…