1. 解决痛点

在开发微信小游戏过程中,需要在微信小游戏game.json加入一个配置键navigateToMiniProgramAppIdList,但常规通过构建发布game.json都是自动生成的,根本就不给你配置的机会.但如果不解决,需要在每次发布后,手动的在build目录中找到game.json文件,手动添加配置.或者复制一个配置好的文件,每次构建完成后,就复制覆盖.总之,很麻烦!

通过常规构建发布生成的game.json文件

{
"deviceOrientation": "portrait",
"networkTimeout": {
"request": 5000,
"connectSocket": 5000,
"uploadFile": 5000,
"downloadFile": 5000
},
"subpackages": []
}

我期望生成的game.json文件

{
"author":"wx:464884492 回复 cocos 加群",
"deviceOrientation": "portrait",
"navigateToMiniProgramAppIdList": [
"需要跳转的小程序appid"
],
"networkTimeout": {
"request": 5000,
"connectSocket": 5000,
"uploadFile": 5000,
"downloadFile": 5000
},
"subpackages": []
}

2. 项目中builder.json文件

在项目setting文件夹中,有一个builder.json文件.按照正常逻辑它应该和构建相关.凑巧的是在里边刚好还有一个wechatgame的配置对象.在没查阅文档的情况下,凭直觉在这个加入我需要的配置

...
"wechatgame": {
"author":"wx:464884492 回复 cocos 加群",
"REMOTE_SERVER_ROOT": "",
"navigateToMiniProgramAppIdList": ["需要跳转小程序appid"],
"appid": "当前项目appid",
"orientation": "portrait",
"separate_engine": false,
"subContext": ""
}
...

一溜烟操作后,赶紧构建发布.可最终的结果是添加的配置并没有如愿的添加到game.json文件中.可这问题必须要解决,不生效,我也很绝望啊.

3. 构建模板

绝望又怎样,还是要解决问题.日常百度,查文档.功夫不负有心人,在官网找到了定制项目构建流程.可是看了这个文档.一脸懵逼.虽然找到了方向,可是这文档说的也抽象了.我实在不能理解,我最终的构建模板该是个什么样子的.左思右想,不添加自定义模板也可以完成构建.说明,在编辑器安装目录中也有具体的构建模板,我复制过来就得了.

果不其然,在项目安装目录找到构建模板 C:\Program Files (x86)\CocosCreator\resources\builtin\weapp-adapter 里边刚好有一个wechatgame.解放我双手的稻草居然是你.于是乎我根据官网的提示,在我项目目录里边建立一个名为build-templates文本夹,然后把找到的wechatgame文件夹复制过来.我仿佛看到胜利的曙光了,赶紧构建发布.是的,并没有出现问题.可是,当我打开微信开发者工具时,在控制台输出一大串嘲讽红色的错误信息.好吧,感觉又失败了.

4. 借鸡下蛋

不慌,要冷静,仔细观察生成的文件结构和模板中的文件结构,仅仅只是多了ressrc两个文件夹.于是大胆假设,放弃从安装目录去拷贝模板文件,直接从默认构建发布的文件去复制就得了.所以,先将项目文件中build-templates文件改个名字,重新构建发布.然后再去build目录中复制除了ressrc之外的所有文件.然后再模板文件中的game.json文件中添加自定义配置navigateToMiniProgramAppIdList,再次构建发布,打开微信开发者工具.这次终于成功.

5. 总结

知识虽小,重在积累.2020注定是不平凡的一年.加油!!

欢迎感兴趣的朋友关注我的订阅号“小院不小”,或点击下方二维码关注。我将多年开发中遇到的难点,以及一些有意思的功能,体会都会一一发布到我的订阅号中

cocosCreator定制小游戏构建模板的更多相关文章

  1. cocosCreator微信小游戏排行榜思路

    cocosCreator制作微信小游戏排行榜实现方案: 游戏认知:项目分为主域和子域,主域就是游戏主程部分,子域为单独处理微信排行榜公共域数据的. 游戏主域里创建一个节点,添加WXSubContext ...

  2. 【微信小游戏】文件系统,远程加载资源打破4M限制

    一.前提 微信小游戏,对游戏包体的大小有严格是限制,上传文件大小<4M,但是本地缓存文件有50M空间,也就是说我们可以将一些资源放到网上,然后缓存到本地. 二.官方概念 文件系统 文件系统是小程 ...

  3. 【沙龙报名中】与微信&云开发官方团队零距离互动,揭秘爆款微信小游戏背后的技术!

    有人说 微信小程序游戏的百花齐放 活像十几年前的4399小游戏称霸互联网的景象 " 歪,斗地主吗,三缺二, 不用下app,小程序就能玩,我保证不抢地主让你抢!" ...... &q ...

  4. 微信小程序之模板消息推送

    最近在用sanic框架写微信小程序,其中写了一个微信消息推送,还挺有意思的,写了个小demo 具体见官方文档:https://developers.weixin.qq.com/miniprogram/ ...

  5. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  6. 带你使用h5开发移动端小游戏

    带你使用h5开发移动端小游戏 在JY1.x版本中,你要做一个pc端的小游戏,会非常的简单,包括说,你要在低版本的浏览器IE8中,也不会出现明显的卡顿现象,你只需要关心游戏的逻辑就行了,比较适合逻辑较为 ...

  7. Egret白鹭H5小游戏开发入门(二)

    前言: 昨天的文章中简单的介绍了Egret白鹭引擎从安装到基本的使用配置等问题,今天着重介绍H5小游戏开发的起步阶段,如Wing面板的使用,素材的处理,类的说明,开始布局等等. 整体概况: 根据上一篇 ...

  8. 两个Canvas小游戏

    或许连小游戏都算不上,可以叫做mini游戏. 没有任何框架或者稍微有点深度的东西,所以有js基础的或者要追求炫酷效果的可以直接ctrl+w了. 先贴出两个游戏的试玩地址: 是男人就走30步 是男人就忍 ...

  9. 12岁的少年教你用Python做小游戏

    首页 资讯 文章 频道 资源 小组 相亲 登录 注册       首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...

随机推荐

  1. Docker的网络类型

    四种网络类型: None:不为容器配置任何网络功能,--net=noneContainer:与另一个运行中的容器共享Network Namespace,--net=container:containe ...

  2. 学习和使用 Styled Layer Descriptor SLD样式文件

    1. SLD 文件大致作用,可以浏览下示意图: 点要素的符号化:http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/points ...

  3. Python Web 基础向(四) 浅谈数据层

    数据层一般会给人带来一些困扰,在于其定位不准确.聚合Model的工作也可以放在逻辑层做,但会导致逻辑层变重,经常出现大段晦涩代码.因此我的建议是保留Model聚合层,尽管会导致工作量的略微增加,但却可 ...

  4. php数据库连接和mysql语句使用

    从简单的登录页开始学习. 前提:已经有一个html+css+js的静态网站 登录: php连接数据库,读取数据. <?php $username = root; $userpass = shao ...

  5. React.js/HTML5和iOS双向通信

    最近,我使用WKWebView和React.js进行双向通信,自己写了React.js嵌入到Native中. Native操作Web,通过两种方式传值 第一种,通过JS传值给Native 通过这种方式 ...

  6. linux记录每次登陆的历史命令

    编辑/etc/profile,增加如下代码 #Record history operation USER_IP=`>/dev/null |awk '{print $NF}' |sed -e 's ...

  7. iptables学习02-nat表应用

    nat表应用实验 第一步 准备工作 A机器两块网卡ens33(192.168.2.106).再添加一块自定义网卡ens37(192.168.100.1),添加到LAN内网区段(自定义名字,写什么无所谓 ...

  8. Django报Warning错误 RuntimeWarning: DateTimeField Goods.create_at received a naive datetime (2019-07-31 23:05:58) while time zone support is active

    报错和UTC(世界标准时间)有关,在settings.py 文件中设置 USE_TZ = False 警告错误不再报

  9. fsLayuiPlugin配置说明

    fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环 ...

  10. PYTHON 第二天学习记录