基于 ThinkJS 的云开发体验

眉间皱痕 提交于 2021-02-14 14:21:09
ThinkJS 是一款企业级的 Node.js Web 开发框架,致力于集成项目最佳实践,规范项目让企业级团队开发变得更加简单,更加高效。 它基于 Koa 2.0 开发,兼容 Koa 的所有 Middleware。 内核小巧,支持 Adapter, Extend 等多种插件扩展方式,框架内的大部分功能也是通过这些方式进行扩展的。 性能优异,支持 TypeScript。

云开发 CloudBase 是云原生一体化应用研发平台为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等能力,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用、Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。 

其实在云开发中使用 ThinkJS 和我们日常使用大同小异,除了启动文件需要按照云开发的要求修改一下以外,内部的业务逻辑基本不需要改动。 我们可以使用云开发的 CLI 工具快速的初始化一个适配云开发的 ThinkJS 项目。 其中 thinkjs-app 是你的项目文件夹名称。
tcb new thinkjs-app thinkjs-starter

初始化完毕进入项目目录后执行 npm install 安装好依赖,就可以通过 npm start 启动开发环境了。

如果一切正常,你可以通过访问 http://127.0.0.1:8360 看到经典的 ThinkJS 的初始化界面了。

 
之后我们就可以愉快的进行项目的开发了。 当项目开发完毕之后,直接执行命令行 tcb,CLI 工具就会将我们的代码部署到云函数上啦!
由此可见,通过云开发,我们的开发部署流程变的更加简单了。 打通流程之后具体就是业务逻辑的开发了,关于更多 ThinkJS 和云开发的开发指南可参见官方文档 。
除了上述的云函数,云开发还提供了云数据库和云存储服务方便我们的项目快速接入相关服务。 数据库这块是比较经典的 NoSQL 的数据库操作,使用云开发的 SDK 可以非常方便的进行操作。
   
   
   
const cloudbase = require(‘@cloudbase/node-sdk’); const app = cloudbase.init({…}); const db = app.database(); const _ = db.command;
let userInstance = db.collection(‘User’); userInstance = userInstance.where({create_time: _.gt(new Date(2020, 0, 1))}); const users = await userInstance.get();

大家可以直接通过在 ThinkJS 中调用 SDK 的方法实现数据库的查询操作。
需要注意是:ThinkJS 中模型的操作都是单例的,模型实例创建后之后的所有实例操作都会对当前实例有影响。 而云开发的 SDK 是纯函数形式的,因此每次操作完都会返回被操作后的对象,不会对源对象进行修改,所以我们需要通过变量覆盖的形式获取最新的操作结果。


云开发作为基于 Serverless 的应用开发平台,不仅能方便的将我们的项目无服务器化,同时也提供了其它业务常用服务的快速接入,让我们的项目开发更加便捷。


作者:

怡红公子,360 奇舞团前端工程师,开源爱好者,ThinkJS 核心维护者。


 更多精彩

点击下方图片即可了解

△ 12月20号,欢迎来“喷”!

△ 补贴近万元!小程序·云开发企业激励计划

△  总包价29.9,云开发域名备案上线






由于公众号推送规则更改,请多多 分享 点赞 “在看” ,以及时获取云开发Cloudbase的最新动态。

      点击在看让更多人发现精彩

本文分享自微信公众号 - 腾讯云云开发(tcb2tcb)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!