云开发提供了云函数本地调试功能,在本地提供了一套与线上一致的 Node.js 云函数运行环境,让开发者可以在本地对云函数调试,使用本地调试可以提高开发、调试效率。
1. 本地调试无需部署发布。
2. 本地调试只能在测试环境下进行。
3. 现在云端node环境为v8.0, 本地调试时如出现版本不兼容问题,可以在设置中选择本地node环境。
4.目前在云函数中使用云存储相关API暂时不支持本地调试(包括cloud.file.uploadFile、cloud.file.getTempFileURL、 cloud.file.deleteFile等)。
在模拟器/真机下触发函数本地调试,需要检查以下初始条件:
1. sdkVersion要求大于等于v1.5.2(如果填写*号,请再次安装client/目录下的依赖, 确保sdk version版本号满足要求)
// client/package.json "dependencies": { "@tbmp/mp-cloud-sdk": "*" // >= 1.5.2 }
2.同云应用本地调试一致,初始化时需要将options放入初始化代码中,后面可以统一这样初始化即可。
cloud.init方法初始化移到onLaunch方法里(注意:必须要把options参数在初始化时进行注册,真机/模拟器调试才生效)。
代码示例
import cloud from '@tbmp/mp-cloud-sdk'; App({ cloud, onLaunch(options) { cloud.init({ env: 'test', options }); console.log('authorize', my.authorize()); // 第一次打开 // options.query == {number:1} }, onShow(options) { console.log('App show'); // 从后台被 scheme 重新打开 // options.query == {number:1} }, });
开发者可通过右键点击云函数名或者在云服务控制台云函数列表页点击本地调试唤起本地调试界面。
在本地调试界面中点击相应云函数并勾选【开启本地调试】方可进行该云函数的本地调试。取消勾选【开启本地调试】后可关闭对该云函数的本地调试。
云函数中有使用使用到 npm 模块,需在云函数本地目录安装相应依赖才可正常使用云函数本地调试功能。在开启本地调试的过程中,系统会检测默认帮该云函数本地安装了?package.json?中所指定的依赖。
开启了本地调试后,IDE 小程序中所有对开启了本地调试的云函数的请求都会请求到本地云函数,可进行断点调试等操作。除了在本地调试界面输入请求参数可以发起本地调试外, IDE 小程序中通过模拟器或者/真机扫码也可以触发本地云函数。
在开启的本地调试界面上,手动出发开启本地调试的云函数,即可进行本地测试。在调试面板上可以查看触发方式,请求参数等详细调试信息。
模拟器/真机在进行本地调试前,参照调试前提条件,需要:
① sdkVersion要求大于等于v1.5.2;
② 初始化时需要将options放入初始化代码中。
开启本地调试后,开发者在客户端正常编写云函数调用代码,打开模拟器调用或者真机扫码,即可在调试面板看到请求达到了本地。