为了避免开发者每次都需要去聚石塔控制台重复部署云应用的开发模式,淘宝开发者工具(IDE)提供了云应用本地调试功能,开发者可以在本地应用中开启debug端口进行调试
使用前提:
1)淘宝开发者工具 v2.1.5 以上
2)客户端云SDK版本 >= 1.4.8
小程序端支持的调用方式:
1)模拟器
2)真机预览
3)真机调试
本地应用调试仅支持:测试环境。
点击【添加配置】按钮。
参数说明:
1)云应用ID: 与小程序中调用云应用id "cloudAppId" 一致(不需要真实部署)
2)本地调试地址/本地调试端口号: 本地应用的ip(域名)和端口信息
根据需要开启调试服务。(可以同时开启多个本地调试)
当开启服务后,即可进行本地调试。
有四种方式可以进行本地调试:
1)本地测试;
2)模拟器;
3)真机预览;
4)真机调试。
本地测试同云控制台本地测试:
1)当检测到云应用ID开启了本地调试,请求会执行【本地调用】;
2)如果未检测到云应用ID开启了本地调试,将执行【远程调用】。
模拟器/真机在进行本地调试前,需要云SDK >= 1.4.8,并进行初始化。建议始终把package.json文件写成* 并重新安装依赖
在小程序工程目录手动安装云SDK,安装命令。
npm install @tbmp/mp-cloud-sdk --save
1)在MiniApp的入口app.js中初始化sdk, 将cloud实例挂载到App全局对象中, 方便在page中引用;
2)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} }, });
小程序调用云应用代码示例:
async testCloudApp(){ try { const result = await cloud.application.httpRequest({ //不需要完整域名,只需要接口访问路径即可 'path' : '/test', 'method':'GET', 'headers':{}, 'params':{}, 'body':{}, //cloudAppId填写开启本地调试的云应用ID,否则会调到云端 'exts':{ "cloudAppId":"1000" ,"timeout":4000} }); my.alert({ title: '接口返回值', content: JSON.stringify(result) }); console.log(JSON.stringify(result)) } catch(e) {}); } }
(模拟器)
(真机)