您现在的位置: 首页 > 微信营销 > 微信动态文章 > 微信小游戏如何突破4M限制

微信小游戏如何突破4M限制

作者:pc668   来源:  热度:508  时间:2022-03-09
首先小游戏js目录下的库是不是min的,比如eui.min.js,还是eui.js。如果是eui.js则是没有压缩的。你需要修改scripts/config.wxgame.ts中的new CompilePlugin({ libraryType: "debug", defines: { DEBUG: true, RELEASE: false} }),修改为new CompilePlugin({ libraryType: "release"

首先小游戏js目录下的库是不是min的,比如eui.min.js,还是eui.js。

微信小<a href=https://maguai.com/list/48-0-0.html target=_blank class=infotextkey><a href=https://maguai.com/list/48-0-0.html target=_blank class=infotextkey>游戏</a></a>如何突破4M限制

如果是eui.js则是没有压缩的。你需要修改scripts/config.wxgame.ts中的

微信小<a href=https://maguai.com/list/48-0-0.html target=_blank class=infotextkey><a href=https://maguai.com/list/48-0-0.html target=_blank class=infotextkey>游戏</a></a>如何突破4M限制

new CompilePlugin({ libraryType: "debug", defines: { DEBUG: true, RELEASE: false} }),

修改为

new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true} }),

然后再编译一次,这样发布的库才能是压缩后带min的。

分包加载

比如resource下有如下资源,并在default.res.json里也按照这个分的资源组

preload 预加载资源 图片5张 0.5m

home 主页资源 图片5张 0.5m

game 游戏资源 图片30张 3m

那么可以主包只加载preload home

再使用wx.loadSubpackage加载分包game (://developers.weixin.qq.com … se/subpackages.html[/url])

再使用RES.loadGoup(“game”),这样就可以和常规h5项目一样正常使用资源了。

关键点:

没将game配置成分包资源时,会提示超出大小。将game配置成分包后,就不会提示了。

egret中使用分包加载资源时,先wx.loadSubpackage加载分包,让资源先躺在resource/game目录下,再RES.loadGroup,就可以常规使用了 。

服务器加载资源

首先修改 script/config.wxgame.ts 文件,在发布过程中添加 ResSplitPlugin 插件:

commands: [

new CleanPlugin({ matchers: ["js", "resource"] }),

new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true } }),

new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置

new WxgamePlugin(),

new UglifyPlugin([{

sources: ["main.js"],

target: "main.min.js"

},{

sources: ["resource/default.thm.js"],

target: "default.thm.min.js"

}

]),

new ResSplitPlugin({

matchers:[

{from:"resource/**",to:`../${projectName}_wxgame_remote`}

]

}),

new ManifestPlugin({ output: 'manifest.js' })

注意:这里加上 new ResSplitPlugin 如果报错的话需要在最上面import 这个ResSplitPlugin插件一下。

在这里插入图片描述

该插件的用意是,在您执行 egret publish 时,将 resource 文件夹的所有内容发布到 projectname_wxgame_remote 文件夹,而非 projectname_wxgame 文件夹中,这样游戏资源就不会被打包进微信项目。**

然后修改你的 Main.ts 中的配置加载代码,修改为 RES.loadConfig(“default.res.json”,“你的服务器地址”);

执行egret publish命令,在项目的上一级目录你会发现projectname_wxgame_remote文件夹,将里面的resource文件夹放到你的服务器中。

你的服务器必须有备案,并且是://,如果不是则微信开发者工具中报错如下:在这里插入图片描述

这里可以勾选,就可以加载啦。不过真机预览的时候需要打开调试模式才可以加载到。这里只是调试用,正式上线必须使用备案的服务器。

登录

使用微信帐号或QQ直接登录,无需注册