
云端一体化部署工具 CloudBase Framework (简称 CBF)自开源发布以来迭代迅速,不仅支持 Vue、React 等前端框架,也支持 Nuxt 等 SSR 框架,基于 Node 开发的应用如 Express、Koa 等也可以一键托管。除此之外,借助底层 Serverless 云应用的能力,也可以部署其他后端的应用(PHP、Java、Go 等),值得一提的是可以部署 Dart Server,可以配合 Flutter 实现 Dart 语言的云端一体化,这也是国内云厂商对 Dart 语言和生态的一大补充。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9WBPl646-1598432112274)(https://main.qcloudimg.com/raw/68039377d8ef40e60b5db16be0d60c71.png)]](https://i-blog.csdnimg.cn/blog_migrate/447695a1c63924b7b21ba19d23ec487d.png#pic_center)
现在,CloudBase Framework 已支持部署Deno,可能是首个支持部署Deno的前后端一体化部署工具!下面就来介绍下 Deno 插件的开发流程。
Deno是基于V8引擎和Rust语言所创建的JavaScript**、TypeScript运行环境**,由Node.js的原始开发者Ryan Dahl所创造,目前 github star 66.7k+。

(来自 justjavac 大神的点赞)
开发准备
云开控制台:https://console.cloud.tencent.com/tcb
当 CloudBase Framework 正式推出后,一直觉得 Deno 和云开发应该是绝配,所以尝试为其贡献了 Deno 插件与模板,并调研感受了下 Deno 开发过程。
相关产出:
- cloudbase-framework deno 插件 framework-plugin-deno
- 简易在线示例
- 简易在线示例代码 deno 模板
开始着手 deno 插件开发时,CloudBase Framework 插件开发的文档暂缺,不过好在其他插件代码清晰易懂,可以参考其他插件进行开发。
考虑到 deno 运行状态,应该就是需要打通容器部署环节,于是根据 CloudBase Framework 作者建议,参考了 framework-plugin-node 和 framework-plugin-dart 两款插件的代码来进行开发。
整个 CloudBase Framework deno 插件开发,主要需要编写代码的文件就 3 个:
调研基本示例
由于需要进行容器部署,所以在 dockerhub 找了个 docker image aredwood/deno 作为参考镜像进行改造。来编写 CloudBase Framework 插件所需 的 Dockerfile 。
为方便验证 Dockerfile 和 deno 应用如何整合,构建了一个简单项目来验证镜像构建流程:deno-docker
deno 生态有一个类似 node koa 的应用框架 oak 直接使用它的官方示例,存为一个 entry.ts ,很快就完成了本地示例的搭建。执行示例也非常简单 deno run entry.ts。
插件开发
接下来考虑如何部署的问题,开始开发 CloudBase Framework deno 插件,src/index.ts 主要需要提供一个插件类给 CloudBase Framework 命令行组件使用。这个类需要继承自 @cloudbase/framework-core 的 Plugin。
参考其他插件写法,Plugin 是抽象类,需要自行实现抽象类的各个方法。其中在 build 方法中,需要构建中间产物,主要是编译过后的 Dockerfile 和需要包装到镜像的文件,然后通过 framework-plugin-container 提供 docker container 构建产物。
import {
plugin as ContainerPlugin } from '@cloudbase/framework-plugin-container';
/*** code:other ***/
class DenoPlugin extends Plugin
CloudBase Framework 首个 Deno 部署工具开发揭秘

本文介绍了CloudBase Framework如何成为首个支持Deno部署的工具,分享了Deno插件的开发流程,包括调研、本地部署调试、Deno开发体验等,展示了Deno在开发和部署上的优势,以及与云开发的结合,鼓励开发者参与到开源贡献中。
最低0.47元/天 解锁文章
1163

被折叠的 条评论
为什么被折叠?



