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

微信小程序分包异步化

分包1引入分包2的组件或者js

引入组件:

主包里的pages/tabbars/tabbar1/tabbar1页面 引入分包sub1的sub1/components/sub1-component/sub1-component组件

1、分包预下载 首先在app.js定义preloadRule

"preloadRule": {"pages/tabbars/tabbar1/tabbar1": {"network": "all","packages": ["sub1"]}},

就是说进入到pages/tabbars/tabbar1/tabbar1页面的时候 会去下载sub1分包

2、引入分包组件

"usingComponents": {"sub1-component": "../../../sub1/components/sub1-component/sub1-component"},"componentPlaceholder": {"sub1-component": "view"}

componentPlaceholder是用来定义下载未完成的时候显示的占位组件,就是说sub1-component未下载渲染完成时 页面显示的是view元素,也可以换成别的组件。

3、使用

直接在tabbar1 wxml里 使用<sub1-component></sub1-component>就可以了

我在sub1-component里就写了展示sub1-component文字

<view style="margin-top: 100rpx;" bind:tap="onClick">sub1-component</view>

所以展示出来就是这样的

第二个是引入分包的js

例如:在主包的tabbar1引入分包sub1里的utils.js

在分包sub1写了个utils.js 导出了一个deepCopy的方法

在tabbar1页面的js里这样写

// 加载分包的jsloadSubPackage() {try {require('../../../sub1/utils.js', mode => {console.log('@@sub1-com success', mode)}, (err) => {console.log('@@sub1-com err', err)})} catch (error) {console.log('@@分包异步化加载失败', error)}},

就能得到分包里的方法了

可以把这些方法 放到全局wx里,这样其他分包不用引入也可以直接使用了

// 加载分包的jsloadSubPackage() {try {require('../../../sub1/utils.js', mode => {console.log('@@sub1-com success', mode)// 将方法写入全局里 这样其他分包也可以直接使用 而不用再引一遍const prefix = 'sub1_utils_'for(const [k,v] of Object.entries(mode)) {wx[prefix + k] = v}console.log('@@写入全局wx里的方法', wx.sub1_utils_deepCopy)}, (err) => {console.log('@@sub1-com err', err)})} catch (error) {console.log('@@分包异步化加载失败', error)}}

可以看到打印里成功写入了


http://www.mrgr.cn/news/90254.html

相关文章:

  • 互联网大厂中面试的高频计算机网络问题及详解
  • 几种3D 旋转 的参数化形式
  • Node.js笔记入门篇
  • 使用 AlexNet 实现图片分类 | PyTorch 深度学习实战
  • Windows电脑本地部署运行DeepSeek R1大模型(基于Ollama和Chatbox)
  • 【RabbitMQ重试】重试三次转入死信队列
  • Pdf手册阅读(1)--数字签名篇
  • Ubuntu安装PgSQL17
  • 嵌入式音视频开发(一)ffmpeg框架及内核解析
  • 擎天柱例程35 串口绘图
  • 2025-2-10-4.4 双指针(基础题1)
  • elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点
  • 【大数据安全分析】为什么要用大数据技术进行安全分析?
  • 2025年前端面试题~ 【前端面试】更新
  • 教程 | MySQL 基本指令指南(附MySQL软件包)
  • 基于Kotlin中Flow扩展重试方法
  • 【HarmonyOS Next 自定义可拖拽image】
  • 【生产变更】- 12c及以后 ADG主备切换
  • 2.10学习总结
  • 从零复现DeepSeek R1:从V3中对MoE、MLA、MTP的实现,到Open R1对R1中SFT、GRPO的实现