介绍

        使用uniapp编译微信小程序的时候,经常会出现vendor.js过大的情况,这时候就需要考虑分包。除了其他第三方插件,uniapp的插件也占用主包很大的空间。

        uniapp项目中自己的插件放在uni_modules目录下,但是如果将整个uni_modules作为分包经常会出现问题,因为很多插件在主包中要用到。这里以单独将uni-id-pages分包为例。

目录结构

        如图所示,首先将uni_modules中的uni-id-pages包拿出来,放到新建的一个用来存放分包的目录,我这里是sub-uni。

        然后,在pages.json中更新分包声明和页面路径:

云服务空间与公共模块处理

        uni-id-pages下的插件是依赖uniCloud云服务空间的,所以要更新云函数和云对象的依赖关系。

将分包后的uni-id-pages目录下的uniCloud目录中的cloudfunctions和database的内容分别放到根目录下的uniCloud对应的目录下:

关联公共模块

        右键点击cloudfunctions下的uni-id-co,选择管理公共模块或扩展库依赖

        将项目中依赖的模块勾选-确定

云函数和表上传云服务空间

此时就处理好了uni-id-pages的依赖,接下来就是修改官方的uni-id-pages的初始化流程

动态导入uniIdPageInit

        App.vue中初始化改为动态导入,因为微信小程序中分包在一开始并没有加载,所以需要要确保分包下载完成后再执行初始化,否则就会报错找不到该文件。

更多推荐