当前位置:首页 > uni-app

uniapp 组件分包

2026-03-05 09:02:02uni-app

分包的概念

在UniApp中,分包(SubPackage)是一种优化手段,将应用拆分成多个子包,按需加载。主包包含核心资源和启动页面,子包存放非核心页面或功能模块,减少首屏加载时间。

分包配置方法

1. 修改 manifest.json
确保启用分包功能,在 manifest.jsonmp-weixin 或其他平台配置中添加以下字段:

"optimization": {
  "subPackages": true
}

2. 配置 pages.json
pages.json 中通过 subPackages 字段定义分包结构:

{
  "pages": [...], // 主包页面
  "subPackages": [
    {
      "root": "subpackageA",
      "pages": [
        {"path": "page1", "style": {...}},
        {"path": "page2", "style": {...}}
      ]
    },
    {
      "root": "subpackageB",
      "pages": [...]
    }
  ]
}
  • root:分包根目录(需与项目目录一致)。
  • pages:分包内的页面路径(相对 root 的路径)。

分包加载规则

  • 主包:必须包含 pages.json 中未声明在 subPackages 的页面、tabBar 页面及公共依赖。
  • 子包:独立编译,访问子包页面时动态加载。

分包预下载

pages.json 中通过 preloadRule 配置预下载:

"preloadRule": {
  "pages/index/index": {
    "network": "all",
    "packages": ["subpackageA"]
  }
}
  • 当访问 pages/index/index 时,自动预下载 subpackageA

注意事项

  • 路径规范:分包路径不能与主包或其他分包重复。
  • 依赖隔离:子包应尽量减少对主包的依赖,避免公共资源重复打包。
  • 体积限制(微信小程序):
    • 主包 ≤ 2MB,所有分包 ≤ 8MB,单个分包 ≤ 2MB。

动态引入组件

若需在分包中使用组件,可通过 require 动态引入:

const component = require('@/subpackageA/components/example.vue');

或使用 easycom 自动引入(需在 pages.json 配置):

uniapp 组件分包

"easycom": {
  "autoscan": true,
  "custom": {
    "^uni-(.*)": "@/subpackageA/components/uni-$1.vue"
  }
}

标签: 组件uniapp
分享给朋友:

相关文章

uniapp支付功能怎么实现

uniapp支付功能怎么实现

uniapp支付功能实现方法 准备工作 注册微信支付、支付宝等平台的开发者账号,获取必要的商户ID(mch_id)、API密钥(key)、应用ID(appid)等信息。确保项目已配置好相关支付SDK。…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…

uniapp审批

uniapp审批

uniapp审批流程实现 在uniapp中实现审批功能,通常需要结合前端界面和后端逻辑。以下是几种常见的实现方式: 前端界面设计 使用uniapp的组件和API构建审批界面,包括表单提交、审批列表展…

uniapp广播

uniapp广播

全局事件通信 在UniApp中实现广播功能可通过全局事件机制完成,适用于跨页面或组件通信。使用uni.$emit、uni.$on、uni.$off等方法实现事件的触发、监听与移除。 发送广播(触发事…

uniapp 退场动画

uniapp 退场动画

实现退场动画的方法 在UniApp中实现退场动画可以通过CSS动画、Vue过渡效果或第三方动画库完成。以下是几种常见方法: 使用CSS动画 通过定义@keyframes和animation属性实现退…