乐趣区

关于serverless:如何使用-Vercel-部署一个接口测试工具

这是一个超具体的实例,跟着做完你会:

  • 光速入门 Vercel、Serverless Functions
  • 失去一个和图片截然不同的专属的 API 工具

一、概念解析

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,提交代码后主动部署。

二、疾速开始

1. Fork Eoapi 仓库

拜访:https://github.com/eolinker/e…

Fork 胜利后能够在本人的 Repositories 看到 Eoapi。

2. 配置 Vercel

拜访:Develop. Preview. Ship. For the best frontend teams – Vercel

注册胜利后点击新建我的项目。

配置 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 工具啦!

三、Serverless Funcions

1. 源码解析

api 文件夹下有一个名为 unit.js 的文件,当咱们部署到服务器时,它就变成了一个 HTTP 接口,一个文件一个接口,接口地址就是 api/<file_name>,是不是简略粗犷~

Serverless Functions 让咱们写接口和写纯函数一样简略。

咱们只须要 exports 一个纯函数,通过函数第一个入参 req 拿到申请体,再通过第二个入参 res.end() 返回响应体,就能够疾速公布一个 API。


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 工具。

npm i -g vercel
vercel dev

剩下的跟着命令行指引配置完后就能够在本地调试 Serverless Functions 了。

四、作者的话

我是 Eoapi 的一名开发者,demo 网站就是应用下面的步骤配置进去的,如果大家对我的项目感兴趣,欢送大家继续关注咱们我的项目:https://github.com/eolinker/e…。

说实话我第一次配置的时候还是踩了不少坑,但总体来说 Vercel 体验还是很顺畅的。

我当初基本上所有的网站都迁徙到了 Vercel 做了部署。除了 Eoapi,我还部署了我的官网,一个抽奖程序,很酷炫。

嘿嘿,你也能够部署试试看,作为测验本人是否把握知识点的小作业。

Github 地址:https://github.com/moshang-xc…

五、参考资料

  • Serverless(无服务) 基础知识 – 掘金
  • 三分钟理解 Serverless 是什么
  • https://segmentfault.com/a/11…
  • 什么是 Serverless 架构和 FaaS 函数即服务?
  • Download Vercel CLI – Vercel
  • https://vercel.com/docs/conce…
退出移动版