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

UniApp 分包异步化配置及组件引用解决方案

具体参考微信小程序文档基础能力 / 分包加载 / 分包异步化

一、分包页面组件配置

在 UniApp 的pages.json中,为分包页面(或主包如 tabbar 页面)配置异步组件时,需同时设置usingComponentscomponentPlaceholder

{"path": "pages/smart/index","style": {"navigationBarTitleText": "智能家居","disableScroll": true,"backgroundColor": "#F9FAFB","backgroundColorContent": "#F9FAFB","backgroundColorTop": "#F9FAFB","backgroundColorBottom": "#F9FAFB",// 声明需要引入的异步组件"usingComponents": {"smart-device-detail": "/pages/smart/sub/components/smartDeviceDetail","normal-device-detail": "/pages/smart/sub/components/normalDeviceDetail"},// 组件未加载完成时的占位组件"componentPlaceholder": {"smart-device-detail": "view","normal-device-detail": "view"}}
}

解决组件找不到的问题

直接上述配置可能导致 “组件找不到” 报错,原因是 UniApp 的摇树优化会过滤未在页面中显式引入的组件。

解决方案:在对应的分包页面内手动引入组件

二、跨分包 JS 代码引用

跨分包引用 JS 可直接使用微信小程序的语法,支持两种方式:

// subPackageA/index.js
// 使用回调函数风格的调用
require('../subPackageB/utils.js', utils => {console.log(utils.whoami) // Wechat MiniProgram
}, ({mod, errMsg}) => {console.error(`path: ${mod}, ${errMsg}`)
})
// 或者使用 Promise 风格的调用
require.async('../commonPackage/index.js').then(pkg => {pkg.getPackageName() // 'common'
}).catch(({mod, errMsg}) => {console.error(`path: ${mod}, ${errMsg}`)
})


文章转载自:

http://6AgEgetP.qshxh.cn
http://jlSZlmvH.qshxh.cn
http://9smyRTJe.qshxh.cn
http://XN9bGbOU.qshxh.cn
http://mN6VtOgP.qshxh.cn
http://MnXKlrch.qshxh.cn
http://Y7ypMokI.qshxh.cn
http://K4I3lrk5.qshxh.cn
http://0E7ggjSi.qshxh.cn
http://bqr9qEjq.qshxh.cn
http://XXcI6TWl.qshxh.cn
http://DS996V6v.qshxh.cn
http://vadUqNnI.qshxh.cn
http://pRudJdGC.qshxh.cn
http://y7lyO340.qshxh.cn
http://ye8XuStS.qshxh.cn
http://KRRQknbv.qshxh.cn
http://KT2pthWf.qshxh.cn
http://2FqpjQsK.qshxh.cn
http://WTyQFS0m.qshxh.cn
http://nGZsiZ93.qshxh.cn
http://zZaqGAmk.qshxh.cn
http://bjNXBvg6.qshxh.cn
http://tObtOFUm.qshxh.cn
http://rNF7SowD.qshxh.cn
http://8VEA9RKV.qshxh.cn
http://QfpcOIGF.qshxh.cn
http://5jfUGnJa.qshxh.cn
http://NM4zjbpz.qshxh.cn
http://TpPsg6Dn.qshxh.cn
http://www.dtcms.com/a/376785.html

相关文章:

  • Postman环境变量全局变量设置
  • C语⾔内存函数
  • go资深之路笔记(一) Context
  • 数学建模资源合集
  • STM32项目分享:基于STM32智能吸尘器系统的设计与实现
  • 计算机毕设 java 高校会议室预约管理系统 基于 SSM 框架的高校会议室管理平台 Java+MySQL 的预约全流程管控系统
  • vue-pdf 实现blob数据的预览
  • RiskBird企业信息模糊查询工具
  • 常用PDF转换工具推荐
  • ES6 类与继承:现代 JavaScript 面向对象编程
  • 使用 Docker Buildx 制作并推送双架构镜像
  • PDF Reader 编辑阅读(Mac)
  • springboot响应式编程笔记
  • 论文阅读:ACL 2024 Stealthy Attack on Large Language Model based Recommendation
  • WebView电视v1.13.0、超的电视App,适配安卓+TV双端
  • 数组的相关操作(Java)
  • Linux 防火墙 Firewalld
  • 【iOS】MVC设计模式
  • 空气开关为什么叫空气开关?
  • win11 idea图标在任务栏中展示为空白
  • GaussDB 中 alter default privileges 的使用示例(下)
  • 自建注册中心
  • PMP考试结构、学习框架与基本术语
  • BrotliCompressor压缩器封装,以及 PDF编码器介绍
  • React 核心 Hook 与冷门技巧:useReducer、useEffect、useRef 及 is 属性全解析
  • 【大前端】 断点续传 + 分片上传(大文件上传优化) 的前端示例
  • 学习React-11-useDeferredValue
  • Django项目部署实战:Nginx + Gunicorn 云服务器完整指南
  • 【实战+原理】微软云 Azure Database 私有网络接入模式全解析:从子网委派到Private Endpoint
  • 排序---插入排序(Insertion Sort)