simple-cloudbase助力小程序云开发
simple-cloudbase 是一套助力于小程序云开发的工具链。
它使用非常的简单,配置也非常少,专注于改善小程序云开发的开发体验。
同时,吸收了现代化的Nodejs项目的特性,使得它支持 js(cjs,esm)
和 typescript
,还支持路径别名 alias
, 多个云函数共享的 npm
包,代码压缩等等特性。
而且,现有的云开发项目,想要迁移进来也是非常简单的。它也能够一键式的生成部署文件,让我们开发者不需要再去微信IDE里,一个一个右键上传并部署。
接下来就让我们看看怎么使用它吧!
快速上手
# 在你的项目中安装
yarn global add simple-cloudbase
# 这里会注册 stcb 指令 ,因为 cloudbase 的 alias 是 tcb,所以 stcb(simple-cloudbase)
# 初始化项目
stcb init cloudfunctions
cd cloudfunctions
# 安装包
yarn
# 开发watch模式
yarn dev
# 打包项目
yarn build
# 生成 cloudbaserc.json 部署文件
yarn gen
# 微信云开发部署:
yarn global add @cloudbase/cli
# tcb 登录到指定的小程序环境
tcb login
# 部署云函数
tcb fn deploy
用这几步,就可以代替微信IDE的操作了,同时也能进行一定的运维管理:
部署成功
列出函数
删除函数
等等其他的功能也都是可以实现的。
默认项目结构
cloudfunctions # 云开发项目目录
- dist # 编译打包后的函数
- src # 函数源代码
- fn1 # 函数目录
- config.json # 函数的 openapi config
- index.[js/ts] # 函数源代码
- fn2 # 另一个函数
- ...
- common
- index.[js/ts] # 公共的 lib
- simple.json # stcb的函数内配置文件
- ...
- package.json # package.json
- [ts/js]config.json # 设置编译配置和别名
- .env # 部署环境变量文件
- .env.dev # ENV_ID=[你的dev环境] tcb fn deploy --mode dev
- .env.prod # ENV_ID=[你的prod环境] tcb fn deploy --mode prod
- cloudbaserc.json # 由stcb根据 dist中的函数 stcb gen自动生成
设计理念
对于 serverless
来说,写配置文件一直是个耗时耗力的工作,这点不论是 serverless.yml
还是 cloudbaserc.json
都是如此,在没有智能提示的情况下,开发者不得不对照着文档,一遍一遍的改参数部署调试。
所以笔者设定了一个默认的部署配置,动态的去生成配置文件(后续和通过自定义模板覆盖),来帮助缓解这个问题。
还支持了更多的js
,还有别名,函数打包降低体积,适配Nodejs12.16
环境等等的特性。
这些都是依靠之前对 serverless
项目开发总结的经验,一步一步走出来的。
同时也设计支持了 wxContext
的本地 mock
,后续还将编写更多的插件,让云开发完成更复杂的工作。
如果您有建议或者意见,或者使用中遇到的各种问题,欢迎来 Github
提出。
单函数使用的 router 和 proxy 正在开发中,敬请期待…