热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用Vercel部署一个接口测试工具

这是一个超详细的实例,跟着做完你会:光速入门Vercel、ServerlessFunctions得到一个和图片一模一样的专属的API工具一、概念解

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


  • 光速入门 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/eoapi

 

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/,是不是简单粗暴~

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/eoapi。

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

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

嘿嘿,你也可以部署试试看,作为检验自己是否掌握知识点的小作业。

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

 


五、参考资料


  • Serverless(无服务)基础知识 - 掘金
  • 三分钟了解 Serverless 是什么
  • https://segmentfault.com/a/1190000041223777
  • 什么是Serverless架构和FaaS函数即服务?
  • Download Vercel CLI – Vercel
  • https://vercel.com/docs/concepts/functions/serverless-functions

推荐阅读
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
author-avatar
厮守这一季德冬天_262
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有