cloudBase是什么
我的理解cloudBase就是一整套server-less环境,主要包含了云函数(faas)、云数据库(类似于MongoDB),云存储(对象存储)。 简单的说,你可以完全利用这3个开发一套REST-API,存储数据、文件,最主要的是有免费资源,可以白嫖。鉴于官网以及腾讯云文档比较多,比较乱,我这里整理一下我是如何入门的。
1、开通环境
打开腾讯云官网,登录后,找到云开发CloudBase,进去新建一个免费环境。注意:免费环境有相应资源限制。
2、安装CLI
首先要安装一下cloudBase CLI,这个难度不大,可以直接看文档。npm i -g @cloudbase/cli
安装完成第一步要先登录,命令行下输入 tcb login
3、创建一个云函数
我一般先在网页上新建。
之后通过tcb fn code:download
下载到本地编辑,注意下载完后先·npm init·一下,然后安装依赖。
同时,在函数上级目录找一下cloudbaserc.js 里面加上这样句installDependency: true
4、打开http触发以及配置安全域名
这个比较关键,没配好就会跨域。在云函数 --> Http触发里配置安全域名。再点击具体的函数,再函数配置中修改触发路径。由于安全域名需要一段时间生效,现在就看与正式编码了。
5、第一个云函数
简单的说云函数就是导出一个函数,你不再需要关心服务器,环境,内存,你只需要实现你自己的逻辑. 这时候你可以把这当作一个nodejs项目来写,记得先npm init ,然后安装相应依赖即可,但是不管怎么写,index.js里只能导出一个主函数。
6、连接数据库
连接数据库之前请先新建一个数据库
const app = require('./tcb')
const db = app.database()
const logDB = db.collection('logs')
用的时候建议使用async/await,因为本质上它是一个promise
const list = await logDB.limit(100).skip((page-1)*100).get()
7、部署函数
部署函数,在项目根目录下执行tc fn deploy
即可
8、注意事项
1、如何打日志
直接console是不会记录到云函数的日志里的,只是你本地运行的时候能够看见。因此建议使用tcb打日志,代码如下
const admin = require('tcb-admin-node')
admin.logger().log({data:JSON.stringify(data)})
2、debug
目前没找到什么有效的debug方法,当出现bug的时候,返回值往往是空对象或者null,只能一层一层往上找,尤其多注意一下引用tcb-admin-node
的操作。大家有什么好方法欢迎评论