3.x小游戏主包过大解决方案

看见有很多小伙伴因为小游戏主包过大而束手无措,个人解决方案分享如下。这里只列举微信,像字节这些都是一样的大家自行去修改。
1.引擎裁剪不多说了,懂的都懂。
2.我的主要解决方案是手动分包过大文件夹。大家可以看看微信分包文档

2.1 image
我一般是将资源进行手动再次分包就能满足主包不超限制了

2.2 在assets下创建一个空白的game.js文件这是微信的一个分包标识,有这个东西才会被认为是一个分包。

2.3 image
添加分包配置到game.json这样才会当做是一个分包资源。

2.4 修改game.js启动逻辑。流程就是在进入游戏前先加载assets分包,加载成功后才进入游戏。如下图我将这部分启动代码放到了分包加载成功后执行。
image

修改的代码game.js.zip (1.6 KB)

 wx.showLoading({
    title: '加载中',
  })
wx.loadSubpackage({
    name: 'assetsSub', // 填写 game.json 中 subPackages 填写的分包名称 name
    success: function (res) {
        // 分包加载成功后通过 success 回调
        wx.hideLoading();

// NOTE: on WeChat Android end, we can only get the correct screen size at the second tick of game.
var sysInfo = wx.getSystemInfoSync();
if (sysInfo.platform.toLocaleLowerCase() === 'android') {
    GameGlobal.requestAnimationFrame (__initApp);
} else {
    __initApp();
}

    },
    fail: function (res) {
        // 分包加载失败通过 fail 回调
    }
});
4赞

正需要,LZ知道咋把引擎也分包吗

一样的,自行尝试