如何开发自己的第一个 Serverles‎s Componen‎t‎

来源:m-dot.com   作者:   发表时间:2020-02-24 12:40:14

一个完整组件的开发流程应该包括以下流程:

需求很明确:开发一个能够自动配置 CDN 加速域名的组件,帮助我们节省手动配置时间。

组件输入定义好了,还需要定义输出内容,只需要大致的组织 API 请求返回结构就行,尽量简洁明了:

default 函数代码,这里就不贴出来了,有点多 o(╯□╰)o。

它需要传入 SecretId、SecretKey、ServiceType 三个参数,SecretId 和 SecretKey 可以通过 this.context.credentials.tencent 来获取,执行 serverless 命令在执行时,它会根据用户项目根目录配置的 .env 文件,自动注入到 this.context.credentials.tencent 上。ServiceType 是当前服务类型,这是腾讯云 API 定义的,针对不同业务配置相应参数就行。

Serverless Component 在执行 default 函数时,它会产生一些状态,比如新增 CDN 域名成功后,会产生一个 hostId,我们可以保存在 this.state 对象中,通过执行 this.save() 函数,它会将 this.state 保存到项目根目录的 .serverless 文件夹中一个名为 Template.MyCDN.json (MyCDN 是我定义的当前 Serverless 应用的名称)文件中,方便之后在做组件建删除时使用。

注意:虽然一个 Serverless Component 是一个 npm 模块,我们可以通过 package.json 中的 main 属性指定项目中任意的文件入口,但是如果没有 serverless.js 文件,serverless 命令是没法通过 component 指定的本地路径调试的。

编辑:

未经授权许可,不得转载或镜像
© Copyright © 1997-2019 by m-dot.com all rights reserved