这是一个超详细的实例,跟着做完你会:
光速入门 Vercel、Serverless Functions
得到一个和图片一模一样的专属的 API 工具
01
概念解析
1. Serverless 是什么?
Serverless 架构即“无服务器”架构,它是一种全新的架构方式,是云计算时代一种革命性的架构模式。
Serverless 的核心思想是让作为计算资源的服务器不再需要被使用者关注。
FaaS(Functions as a Service)函数即服务,FaaS是 Serverless 计算的一种形式,后续我们将用 Serverless API 实现一个使用 Node 帮助客户端发送 API 请求得到响应的服务。
如果看完还是云里雾里,别慌,接着看。
2. Eoapi 是什么?
一个可拓展的开源 API 工具,就是开头的那个配图,可以用它快速调试 API,可以体验一下 Demo 地址。
3. Vercel 是什么?
Vercel 是一个站点托管平台, 类似于 Github Pages
,你丢上去网页的构建后的代码,还你一个 Web 服务链接,同时支持持续集成, 可以关联 Push、PR,提交代码后自动部署 。
02
快速开始
1. Fork Eoapi 仓库
访问:https://github.com/eolinker/e...
Fork 成功后可以在自己的 Repositories 看到 Eoapi。
2. 配置 Vercel
访问:https://vercel.com/
注册成功后点击新建项目。
配置 Vercel 访问 Github 项目的权限,选中 Eoapi。
配置安装、构建命令以及构建后文件夹,配置好之后点击构建按钮。
BUILD COMMAND:cd src/workbench/browser&&npm run build:web
OUTPUT DIRECTORY:src/workbench/browser/dist
INSTALL COMMAND:npm install&&cd src/workbench/browser&&npm install
通过这个链接就可以访问你的专属 API 工具啦!
03
Serverless Funcions
1. 源码解析
api
文件夹下有一个名为 unit.js
的文件,当我们部署到服务器时,它就变成了一个 HTTP 接口,一个文件一个接口,接口地址就是 api/<file_name>
,是不是简单粗暴~
Serverless Functions 让我们写接口和写纯函数一样简单!
我们只需要 exports 一个纯函数,通过函数第一个入参 req 拿到请求体,再通过第二个入参 res.end() 返回响应体,就可以快速发布一个 API。
Javascript
let _LibsFlowCommon = require('../src/workbench/node/request/unit.js');
let _LibsCommon = require('../src/workbench/node/request/libs/common.js');
module.exports = (req, res) => {
console.log('unit.js', req.body);
try {
let data = req.body.data;
data.env = _LibsCommon.parseEnv(data.env);
new _LibsFlowCommon.core().main(data, (tmpInputReport, tmpInputHistory) => {
res.end(
JSON.stringify('i am response')
);
});
} catch (e) {
console.error('unit.js', e, req.body);
}
};
2. 如何本地调试
Vercel 官方提供了 cli 工具。
shell
npm i -g vercel
vercel dev
剩下的跟着命令行指引配置完后就可以在本地调试 Serverless Functions 了!
04
作者的话
我是 Eoapi 的一名开发者,demo 网站就是使用上面的步骤配置出来的,如果大家对项目感兴趣,欢迎大家持续关注我们项目,遇到问题可以一起交流:https://github.com/eolinker/e...。
说实话我第一次配置的时候还是踩了不少坑,但总体来说 Vercel 体验还是很顺畅的。
我现在基本上所有的网站都迁移到了 Vercel 做了部署。除了 Eoapi,我还部署了我的官网,一个抽奖程序,很酷炫。
嘿嘿,你也可以部署试试看,作为检验自己是否掌握知识点的小作业。
Github 地址:https://github.com/moshang-xc...
如果你觉得我的分享对你有所启发或者帮助,不放点个赞,支持一下!
我叫 Eoapi,我是一款类 Postman 的开源 API 工具,我更轻量,同时可拓展!我可以简化你的 API 开发工作,让你更快更好地创建 API。
如果你对我这个开源项目感兴趣,可以来这里:
EOAPI官网或者Github
往期好文
Eoapi — 一个可拓展的开源 API 工具
一篇文章教你掌握调试 HTTP API
Web API 设计原理和规则
Angualr 上手难?先从 8 个开源项目开始
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。