【uniapp】小程序支持分包引用分包 node_modules 依赖产物打包到分包中

前言

5.04 版本之前的 uniapp 和 uniappx,小程序端不支持分包引用的 node_modules 依赖打包到分包中,这对于很多备受小程序主包体积超出困扰的开发者来说,显然不是一个好消息。为了解决这一问题,5.04 版本开始,hx项目或者 cli 项目支持分包引用的 node_modules 依赖打包到分包中。下面介绍下具体的操作步骤,示例项目请点击 ask.dcloud.net.cn/article/424...

分包优化

首先,需要在 mainfest.json 指定小程序节点下添加如下配置,例如:

json 复制代码
{
  "mp-weixin": {
         "optimization": {
            "subPackages": true
          }
   }
}

筛选分包用的依赖

这一步尤为重要,要先梳理出哪些依赖是分包用到的,哪些是主包用到的,以及你期望的主包分包产物引用关系。

我们举一个简单的例子,主包用到了 lodash-esaddsubtract 函数,分包 sub 用到了 lodash-esmultiply 函数,这种分包用到的内容主包没用,就可以考虑使用这种策略,把 分包 sub 用到的 lodash-esmultiply 函数打包到 分包 sub 下,我们来看下 5.04 版本之前的效果

首先是项目结构

打包的产物体积

可以看到,用到的 lodash-es 的三个函数都被打包到了主包的 vendor.js 文件中。下面我们看下 5.04 如何解决这种问题

首先进入到分包的根目录,创建一个 package.json 文件,这里写分包需要用到的依赖,然后安装依赖

然后重新打包即可。

可以看到 分包 sub 根目录下面多了 vendor.js 文件,里面就是 lodash-esmultiply 函数

注意事项

  • 该优化只对 vue3 项目生效
  • 支持 uniapp 和 uniappx 的小程序项目
  • 支持 hx 项目和 cli 项目,测试项目是 hx 项目,cli 项目同理
  • 仅支持 node_modules 中的 js 相关文件,不支持其他文件
  • 测试项目为附件六
  • 5.04 是指 hx 的版本号,uniapp 对应的依赖版本为 3.0.0-5000420260318001
相关推荐
悟空瞎说2 小时前
Electron 踩坑实录:主窗口 icon 配置了,打包 Windows 后死活不显示?(全网最细排查+解决方案)
前端
Lee川2 小时前
Vue Router 4 核心精讲:从原理到面试实战
前端·vue.js
树上有只程序猿2 小时前
2026年,学“前端”还有前途吗?
前端
我命由我123452 小时前
JS 开发问题:url.includes is not a function
开发语言·前端·javascript·html·ecmascript·html5·js
weixin199701080162 小时前
义乌购商品详情页前端性能优化实战
前端·性能优化
汪啊汪2 小时前
Day 3:Hooks 原理
前端
汪啊汪2 小时前
Day 2:JSX 转换原理
前端
学以智用3 小时前
Vue3 + Vue Router 4 完整示例(可直接运行)
前端·vue.js
程序员小李白3 小时前
vue2基本语法详细解析(2.7条件渲染)
开发语言·前端·javascript