云开发 CloudBase 提供环境复制能力,方便开发者进行多环境下项目开发。
1、云函数代码从 A 环境对应函数拷贝,注意代码中写死的环境 ID A需手动修改为 B。
若函数中使用 Node SDK 且 使用当前环境,建议写法:
const cloudbase = require("@cloudbase/node-sdk")
const app = cloudbase.init({
env: cloudbase.SYMBOL_CURRENT_ENV // 自动选取当前环境
})
2、函数属性配置如 内存,超时时间,环境变量,定时触发器,VPC,公网访问配置,函数对应云接入配置&鉴权,CLS 日志配置均拷贝,无需开发者操作。
3、函数层不会复制,需手动在 B 中新建层。
推荐实践:
npm i -g @cloudbase/cli
tcb login
# 下载全部文件
tcb storage download / localPath --dir -e A
tcb storage upload localPath -e B
基于环境复制能力,可以快速搭建开发 dev 和生产 prod 两套环境(免去了重复建表,重复建函数的操作)。
参考文档:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/concepts/environment.html
操作实践
1、云函数端使用SDK 时采用取动态环境写法(类似函数资源复制),避免写死环境 ID。
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const cloudbase = require("@cloudbase/node-sdk")
const app = cloudbase.init({
env: cloudbase.SYMBOL_CURRENT_ENV // 自动选取当前环境
})
2、客户端在开发及生产环境下,分别指定对应环境 ID 即可
wx.cloud.init({
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
env: config.ENV // dev or prod
})
更进一步,为免去人为操作带来的风险,可通过工程化的方式配置环境 ID,如 开发模式下配置 dev 环境 ID,生产模式下配置为 prod 环境 ID,具体实现此处不展开。
同环境下,多人协作开发时容易产生脏数据问题,各开发人员可基于项目初始环境复制出各自开发环境,各环境下调试开发互不影响。
开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。