之前用three.js手撸了一个微信小游戏半成品,但是因为这种手撸的方式,程序和美术很难配合,而且开发难度和时间成本太大,最终决定还是用cocos creator进行微信小游戏的开发。

微信小程序早已经推出了云开发功能,大大节省了服务器成本,可以说是个人开发者的福音。但是笔者在用ccc开发整合了云开发功能的微信小游戏时,遇到了问题:每次用ccc构建后,微信开发者工具中的云开发目录和配置都会被清除掉。每次都需要再次配置微信小游戏云开发目录并把云函数文件重新复制一遍,非常蛋疼。。。

这方面cocos creator似乎并没有给出官方的解决方案,搜索了一下,发现网上也没有靠谱的方案,要不治标不治本要不非常麻烦。笔者查询了cocos creator的API文档,发现ccc的扩展和插件功能还是很强大的,开发者可以定制项目构建流程,使用自定义发布模版和扩展包构建流程,就可以完美的解决这个问题。文档见 API文档:定制项目构建流程。

下面我们就来说一说支持微信小游戏云开发的配置步骤:

  • 在ccc项目根目录下创建目录:根目录\build-templates\wechatgame\{云开发目录名称},例如game__project1\build-templates\wechatgame\functions
  • 在项目目录下或者是 ~/.CocosCreator/packages(Windows 用户为 C:\Users\${你的用户名}\.CocosCreator\packages)目录下,创建一个文件夹,比如:WXServerlessDevSetting,之后再文件夹下再添加两个文件:main.js 和package.json
// main.jsvar path = require('path');
var fs = require('fs');function onBeforeBuildFinish (options, callback) {Editor.log('Building ' + options.platform + ' to ' + options.dest); // 你可以在控制台输出点什么var projectConfigPath = path.join(options.dest, 'project.config.json'); // 获取发布目录下的 project.config.json 所在路径var script = fs.readFileSync(projectConfigPath, 'utf8'); // 读取构建好的 project.config.jsonvar projectConfigObj = JSON.parse(script);//反序列化为js对象projectConfigObj["cloudfunctionRoot"] = "functions"; //你希望设置的云开发目录(注意!第一步中的 根目录\build-templates\wechatgame\目录下的{云开发目录名称} 要和 main.js中,cloudfunctionRoot属性赋值要一致。)script = JSON.stringify(projectConfigObj); //重新序列化成jsonfs.writeFileSync(projectConfigPath, script); // 保存 project.config.jsoncallback();
}module.exports = {load () {Editor.Builder.on('before-change-files', onBeforeBuildFinish);},unload () {Editor.Builder.removeListener('before-change-files', onBeforeBuildFinish);}
};
//package.json
{"name": "wx_serverless_dev_setting","version": "0.0.1","description": "微信小游戏云开发配置","author": "your name","main": "main.js"
}
  • 构建后运行,如图
  • 成功设置了微信云开发环境,如图:

这样做的好处是,你完全可以在ccc的项目根目录\build-templates\wechatgame\{云开发目录},用VSCode开发云函数,每次构建都会把你最新的版本复制到微信小程序的生成目录中。再也不需要开发者手动去复制粘贴了。

注:如果嫌麻烦,可以直接下载插件Cocos Creator 微信小游戏云开发配置插件 ,代价是5个积分,好像还不算贵吧。(本来打算发布在cocos的插件市场,哪知道一直是待审核状态,看来那个插件市场是废了)

微信小游戏云开发在cocos creator中的设置相关推荐

  1. 微信小游戏云开发数据库

    关于微信小游戏云开发数据库的使用 初始化云开发 // 可以传入一个默认使用的环境名称 wx.cloud.init() 初始化数据库 // 这里的环境参数应传入云开发数据库中对应环境id const d ...

  2. 微信小游戏云开发 | 72小时极限编程体验

    七夕之夜,Shawn 的 "消消大冒险❤七夕特别版" 算是蹭上一个热点,经过这两天的实践,答出了一个结论:个人开发者靠朋友圈.公众号.微信亲友群.微信技术群.微信小游戏互点群.QQ ...

  3. 张小龙「跳一跳」都玩到 6000 多分,是时候掌握微信小游戏高级开发了

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 凌华彬.王哲 责编 | 徐威龙 [CSDN 编者按]今天,在 2018 年度微信公 ...

  4. 微信小程序案例源码-cocos creator跨平台开发小游戏案例

    前言 本人一直想学习游戏开发,以前做过Android游戏开发,但电脑坏了,所有源码都没有了,后面也就没有开发了,近来下班之余又想开发游戏了.开发游戏之前,需要考虑开发平台及语言,以前基于Android ...

  5. 微信小游戏客户端开发环境搭建

    微信小游戏客户端开发环境搭建 开发工具 环境配置 发布小游戏 一直以来,弄App形式的游戏比较多,近年来,微信小游戏火了起来.出于好奇,研究了一番,觉得还是挺有意思的,想和大家分享下. 官方手册网址: ...

  6. 关于微信小程序云开发---实现客服自动回复图片例子

    关于微信小程序云开发-实现客服自动回复例子 微信自带的云开发功能使前端工程师可以独立的开发出一款小程序,微信自带的云开发. 首先和开发其他平台的项目一样先看官方文档. 微信小程序开放文档 一. 什么是 ...

  7. 微信小程序云开发 · 从0搭建商业级校园跑腿平台(已开源)

    微信小程序云开发  ·  从零搭建商业级校园跑腿平台 小秃僧 新生代农民工,一枚准毕业的大四学生,热爱前端开发,做个有态度.有思想.有价值的公众号. 好久不更新了,再更新已是打工人! 我将分享用云开发 ...

  8. 微信小程序云开发及背后的云服务支持。

    文章目录 导语 什么是微信小程序云开发? 云开发的优势 云开发的技术生态支持 微信云开发主要能力特性 云数据库: 云函数: 云存储: 身份认证: 云调用: 云开发与传统开发的模式区别 小程序云开发带来 ...

  9. 微信小程序--云开发学习

    这两周因为没有布置任务,主要进行微信小程序云开发的学习 ················· 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生 ...

最新文章

  1. 2019年上半年收集到的人工智能Python编程干货文章
  2. 页面动态显示程序执行结果-append
  3. AndroidStudio(1 下载安装,环境搭建,使用设置)
  4. oracle数据类型查询,Oracle 空间查询, 数据类型为 sdo_geometry
  5. zemax操作数_ZEMAX与像差理论:二级光谱的ZEMAX描述与详解
  6. linux 引导程序修复工具,技术|Linux下修改引导器的工具:Boot-Repair
  7. java如果属性为空返回其他_后台返回前台数据(实体类)如果存在为空或‘’的属性,如何过滤掉...
  8. python提高运行效率_提高 Python 运行效率的六个窍门
  9. JavaScript学习随记——Function
  10. 你知道吗?Python原来可以做这些
  11. stella forum v1.2 的初始设计模型
  12. chart控件做实时曲线显示_基于GDI+技术开发工业仪表盘控件
  13. vue 初始化请求例子_Vue实例初始化
  14. 如何让研发薪酬更具有吸引力?华为、阿里、腾讯的方法值得借鉴
  15. lumaqq receiver
  16. 招行两地一卡——PayPal美元兑换人民币的最佳解决方案
  17. 大学四年一路自学走来,我把这些私藏的实用工具/学习网站我贡献出来了
  18. UVa 10192 - Vacation amp; UVa 10066 The Twin Towers ( LCS 最长公共子串)
  19. P2P、O2O、B2C、B2B、C2C分别代表什么意思?
  20. sql 累计占比_sql 面试题(难题汇总)

热门文章

  1. 计算机运存多少ps,美工电脑一运行PS就卡,那到底该升级固态盘还是内存呢?...
  2. 随机森林python反欺诈_WePay机器学习反欺诈实践:Python+scikit-learn+随机森林
  3. 布线基础:火线、零线和地线
  4. 计算机屏幕坐标系转换,计算机图形窗口到视口坐标转换
  5. 超级简单的安卓课程设计——书籍信息查询
  6. java 缓冲流 转换流、序列化流、打印流
  7. 第五人格为什么服务器正在维修中,第五人格服务器连接不上怎么办 服务器更新后无法进入原因...
  8. Excel中含有汉字和数字的,只提取数字
  9. 使用 Access 数据库引擎 ODBC 界面时出现“当前未配置运行此应用程序的操作系统”错误
  10. 最新(2022年)EcoVadis奖牌的评分要求和资格标准