在前端开发中,函数计算以及无服务器架构越来越受到重视。而 @midwayjs/serverless-scf-trigger 就是一款使用 Serverless Framework 快速部署 TypeScript 云函数并注册成 Tencent SCF 触发器的 npm 包。本篇文章将详细介绍这一 npm 包的使用方法。
安装
你可以通过 npm 命令安装该包:
npm install @midwayjs/serverless-scf-trigger
使用方法
@midwayjs/serverless-scf-trigger 的使用方法十分简单。只需要在你的 Serverless 项目的 package.json 文件中添加如下依赖即可。
{ "dependencies": { "@midwayjs/serverless-scf-trigger": "^1.0.0" } }
示例代码
在这里我们将利用 @midwayjs/serverless-scf-trigger 为一个 TypeScript Serverless 项目添加一项触发器示例。
首先,我们需要创建一个 TypeScript Serverless 项目。可以执行如下命令:
$ sls create --template midway-ts-starter --path midway-demo
使用终端进入项目目录后执行安装及编译:
$ cd midway-demo $ npm install $ npm run build
上述命令完成后,Serverless 项目的基本结构就已经建立好了。
接着安装 @midwayjs/serverless-scf-trigger 及 @midwayjs/faas-cli:
$ npm install @midwayjs/serverless-scf-trigger @midwayjs/faas-cli --save-dev
安装完依赖包后,我们就来为项目添加一个名称为 midway-demo
的 SCF 触发器。
-- -------------------- ---- ------- ------ - ------- - ---- ---------------------- ------ - ----------------- - ---- ----------------------------------- ------ - ------------------------ - ---- ----------------------------------- ------ - ------ - ---- -------------------------------------- ---------- -------------------- ----- -------------- ----- -------- -------- ------- -------- -- ------ ----- ----------------- - ----- ------------------------ ---- -------- ------------------------- - ---------------------- -- --- ------- ---------- ----- ------- - - --------------- ------------------ -- ------ - ---------------- ------ ----------- ---- -------- -------- ----- ---------------- -------- ------ ---------- -------------------------------- --- -- - -
如上代码所示,我们在项目中引入了 @midwayjs/serverless-scf-trigger
。然后在 ApiGatewayTrigger
类中使用了 @ServerlessTrigger
装饰器。在其中通过配置参数 name
为触发器起一个名字,type
指定 SCF 触发器的类型,例如 API 网关,Timer,Cos 等,methods
则是该触发器所能接受的请求方法。
下一步我们需要部署该项目:
$ npm run deploy
此时,API 网关触发器已经部署成功。我们可以使用 @midwayjs/faas-cli
命令行工具在本地对触发器进行调试:
$ npm run debug:start:local $ curl http://localhost:3000/dev/midway-demo
如此一来,我们就实现了在 Serverless 项目中通过 npm 包 @midwayjs/serverless-scf-trigger 部署 Tencent SCF,同时以 Serverless Framework 为框架,实现了云函数的快速部署。
总结
@midwayjs/serverless-scf-trigger 是一款快速部署 TypeScript 云函数并注册成 Tencent SCF 触发器的 npm 包。通过本篇文章的介绍,我们发现使用起来非常简便,轻轻松松就可以在 Serverless 项目中实现 SCF 触发器的部署。在未来,该 npm 包将在云函数运行这一领域发挥越来越重要的作用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f17d007403f2923b035c3e2