云函数
云函数怎么添加,代码到底在哪写??
- 添加
点开发者工具的云开发按钮打开云开发界面。再点云函数-新建云函数即可新建。除了名字其他默认即可。 - 编写
在开发者工具项目目录下,自己新建一个文件夹比如cloudfunction
,然后在project.config.json
中添加一条设置:
"cloudfunctionRoot": "cloudfunction",
你会发现这个目录图标上添加了一个云符号,表示被识别为云函数目录了。此时目录还是空的,在目录上点右键-同步云函数列表,会将你刚才新建的云函数同步到这个文件夹下,每个函数一个目录。顺序反过来也可以,先创建云目录再新建云函数都可以。
本地调试报错?提示没有wx-server-sdk
wx-server-sdk
模块是必须的。
- 引用wx-server-sdk这个模块
既然是用微信的服务器,那么肯定会用到这个模块来获取用户信息什么的。这个模块也好,第三方模块也好都是运行在Nodejs下的,所以你需要本地先安装一个Nodejs。然后命令行进入云函数目录cloudfunction/myFunc
,然后执行这个命令:
npm install --save wx-server-sdk@latest
完成以后就可以进行本地调试了。
编写好的云函数如何上传部署?
在云函数目录上点右键,有两个上传选项。
- 上传并部署:所有文件
速度较慢。
将你本地的云函数文件还有所有用到的nodejs模块文件全部一起打包上传。比较耗时。 - 上传并部署:云端安装依赖
速度很快。
云函数目录下的node模块不会被上传。云端会根据云函数目录下的package.json文件的内容在云端进行安装相关依赖。所以使用这个选项的时候一定要保证云函数目录里有package.json文件(有时候只有lock.json是不行的,需要手动创建)。
如果你没有用到第三方模块的话,这个文件写成这样就够了("wx-server-sdk"模块是必须的):
{
"dependencies": {
"wx-server-sdk": "latest"
}
}
本地的Nodejs环境搞不定怎么办
不需要本地调试的话,本地的Nodejs环境就不是必须的。
如上一条所述,使用上传并部署:云端安装依赖即可。
每次上传所有文件很慢,好烦
参见前面说的上传并部署:云端安装依赖。
为什么进行数据库操作后,success没有被回调?
这里是个大坑。官方API文档说是支持的,其实,success fail complete 的回调只能在小游戏客户端使用,而云函数端只支持Promise方式回调。
这里是官方的回复
系列文章
- 白鹭引擎开发扫雷游戏 - 避开微信胶囊菜单,在白鹭引擎中调用微信小游戏API
- 白鹭引擎开发扫雷游戏 - 打包Apple iOS(AppleStore)原生问题集
- 白鹭引擎开发扫雷游戏 - 打包安卓原生问题集
- 白鹭引擎开发扫雷游戏 - 微信小游戏客户端问题集
- 白鹭引擎开发扫雷游戏 - 微信小游戏服务端(云开发)问题集【当前文章】