CloudBase Framework丨第一个 Deno 部署工具是如何打造的?

云端一体化部署工具 CloudBase Framework (简称 CBF)自开源发布以来迭代迅速,不仅支持 Vue、React 等前端框架,也支持 Nuxt 等 SSR 框架,基于 Node 开发的应用如 Express、Koa 等也可以一键托管。除此之外,借助底层 Serverless 云应用的能力,也可以部署其他后端的应用(PHP、Java、Go 等),值得一提的是可以部署 Dart Server,可以配合 Flutter 实现 Dart 语言的云端一体化,这也是国内云厂商对 Dart 语言和生态的.
摘要由CSDN通过智能技术生成

云端一体化部署工具 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)]

现在,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 开发过程。

相关产出:

开始着手 deno 插件开发时,CloudBase Framework 插件开发的文档暂缺,不过好在其他插件代码清晰易懂,可以参考其他插件进行开发。

考虑到 deno 运行状态,应该就是需要打通容器部署环节,于是根据 CloudBase Framework 作者建议,参考了 framework-plugin-nodeframework-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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值