评论

simple-cloudbase助力小程序云开发

simple-cloudbase助力小程序云开发

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 正在开发中,敬请期待…

附录

文档地址

项目地址

点赞 2
收藏
评论
登录 后发表内容