uni-app 小程序设置"subPackages" : true 分包感觉没什么用

发布于 1周前 作者 caililin 来自 Uni-App

uni-app 小程序设置"subPackages" : true 分包感觉没什么用
uniapp 小程序 设置"subPackages" : true 后 主包的vendor.js 没什么变化

设置前 设置后


3 回复

我这是成功了 还是失败了 变化不大 有没有大佬解答下


“subPackages” : true是什么东西,subpackages不是一个数组吗,里面是分包页面路径,你这看的哪个文档写的,我没看见有这个写法啊

uni-app 中使用 subPackages 配置确实有其特定的用途,尤其是在处理大型项目时,通过分包加载可以显著提升小程序的启动速度和用户体验。虽然你可能在某些简单项目中没有直接感受到它的效用,但在复杂的应用场景下,分包策略显得尤为重要。下面我将通过一个简单的代码示例来展示如何在 uni-app 中配置和使用 subPackages

manifest.json 配置

首先,在 manifest.json 文件中配置 subPackages

{
  "mp-weixin": { // 以微信小程序为例
    "appid": "your-app-id",
    "setting": {
      "subPackages": true
    },
    "usingComponents": true,
    "permission": {
      // ...其他权限配置
    },
    "subPackages": [
      {
        "root": "subPackages/package1/",
        "pages": [
          "pages/page1/page1",
          "pages/page2/page2"
        ]
      },
      {
        "root": "subPackages/package2/",
        "pages": [
          "pages/page3/page3",
          "pages/page4/page4"
        ]
      }
    ]
  }
}

在上述配置中,我们定义了两个子包 package1package2,每个子包包含自己的页面路径。

目录结构

相应的项目目录结构应该如下:

/your-uni-app-project
├── pages/
│   └── ... (主包页面)
├── subPackages/
│   ├── package1/
│   │   └── pages/
│   │       ├── page1/
│   │       │   └── page1.vue
│   │       └── page2/
│   │           └── page2.vue
│   └── package2/
│       └── pages/
│           ├── page3/
│           │   └── page3.vue
│           └── page4/
│               └── page4.vue
├── manifest.json
└── ... (其他文件和目录)

使用场景

分包加载的主要优势在于:

  1. 减少首次加载时间:用户首次打开小程序时,只需加载主包内容,子包内容按需加载。
  2. 优化内存使用:不是所有页面都需要同时加载到内存中,减少了内存占用。
  3. 便于管理:对于大型项目,分包管理使得代码结构更加清晰,维护更加方便。

通过上述配置和目录结构调整,你可以充分利用 uni-app 的分包加载功能,优化小程序性能。即使在当前项目中没有明显感受到其效用,但在未来项目规模扩大时,这一策略将显得尤为重要。

回到顶部