Gathering detailed insights and metrics for koa-to-serverless
Gathering detailed insights and metrics for koa-to-serverless
Gathering detailed insights and metrics for koa-to-serverless
Gathering detailed insights and metrics for koa-to-serverless
npm install koa-to-serverless
Typescript
Module System
Node Version
NPM Version
75.8
Supply Chain
99.5
Quality
75.8
Maintenance
100
Vulnerability
100
License
JavaScript (100%)
Total Downloads
664,885
Last Day
175
Last Week
1,328
Last Month
5,684
Last Year
122,912
28 Stars
21 Commits
1 Watching
1 Branches
1 Contributors
Minified
Minified + Gzipped
Latest Version
1.3.0
Package Id
koa-to-serverless@1.3.0
Unpacked Size
19.98 kB
Size
7.59 kB
File Count
15
NPM Version
6.14.8
Node Version
14.8.0
Cumulative downloads
Total Downloads
Last day
-9.8%
175
Compared to previous day
Last week
-3%
1,328
Compared to previous week
Last month
-16.7%
5,684
Compared to previous month
Last year
-13.6%
122,912
Compared to previous year
No dependencies detected.
只需要改一行代码就能够让你的 Koa 框架应用在 Serverless 架构环境上运行。
Serverless 架构相对于自行部署的原生环境有巨大的优势(各云厂商对 Serverless 的介绍已经非常详细,这里就不赘述了),但是已有的代码想要直接迁移到 Serverless 架构上却不容易,主要面临以下几个困难:
(1)Serverless 架构环境与原生环境有所差异,原有的代码无法直接运行。
(2)各云厂商的 Serverless 实现都有所差异,无法兼容。
koa-to-serverless 就是为了解决这个问题诞生的。它能够让你只改一行代码就让你的原生 Koa 框架应用在 Serverless 架构环境上运行。
直接使用 npm 命令安装即可:
1npm i koa-to-serverless
下面这张图表示了使用原生环境和使用 Serverless 环境 Koa 框架代码的区别。虽然说改一行,实际上总共改2行,1行引入,1行使用。其他位置的代码你无需进行任何改动。
(1)由于已经将请求的 body 植入了 app.request.body ,你无需再使用 koa-bodyparser 获取 body,请直接 去掉对应代码。
(2)其他 Koa 的中间件,目前未发现不能使用的。若你在使用中发现某个中间件使用异常,请向我提 issue。
除了完全兼容 Koa 框架外,koa-to-serverless 还向 Koa 框架的 ctx 参数植入了一些属性,你可以直接使用。例如:ctx.id 。
参数名 | 类型 | 说明 |
---|---|---|
id | string | API网关带入的请求ID |
由于云厂商平台限制,部分参数需要在云厂商的 API 网关处进行配置才能获取到。请按照您使用的云厂商平台进行设置。
以下是 API 网关配置的注意事项:
(1)【请求路径】:配置为【 / 】,并勾选【匹配所有子路径】。路径这块执行逻辑API网关层透传,由 Koa 框架的 koa-router 中间件接管处理。
(2)【HTTP Method】:配置为【ANY】,相当于请求方法也是透传,由 Koa 框架的 koa-router 中间件接管处理。
(3)【入参请求模式】:配置为【入参透传】。
以下几个参数需要 API 网关提供,请直接按照图示参数名称填写。
开发中,待支持 ...
koa-to-serverless 实际上使用以下流程给 Koa 框架提供了一个兼容层。
以下这张图可以大致抽象地描述了 koa-to-serverless 作为兼容层提供的能力:
基于以上流程,以后的扩展会非常容易,扩展主要包含2个方面:
(1)支持 Koa 框架在其他云厂商的 Serverless 架构环境上运行。
(2)支持其他框架,例如 Express 等,在 Serverless 架构环境上运行。
以上2点扩展实际上都非常容易:
(1)第1个扩展只需要增加步骤2对应的触发器处理函数就可以了。
(2)第2个扩展只需要识别框架类型,然后改动步骤4,调用对应的框架的入口函数就可以了。
以上扩展以后会逐渐支持。
以下是支持情况:
Koa | ||
---|---|---|
阿里云 | API 网关触发器 | √ |
阿里云 | HTTP 触发器 | |
腾讯云 | API 网关触发器 | √ |
华为云 | API 网关触发器 | |
百度智能云 | API 网关触发器 | |
AWS | API 网关触发器 |
任何使用上的问题,以及意见和建议,都可以向我提 issue,地址: https://github.com/inlym/koa-to-serverless/issues
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
Found 0/21 approved changesets -- score normalized to 0
Reason
no SAST tool detected
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Score
Last Scanned on 2024-12-16
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More