前言

最近本站用上了不少腾讯云的其他服务,例如用腾讯 CDN 来加速网站加载速度,用云开发来部署博客的评论功能 twkioo。但于此同时,这些服务在提升性能的同时还有很多不便的地方,例如我想要刷新博客的 CDN,我需要以下步骤:

  1. 打开游览器
  2. 打开腾讯云主页
  3. 拿起手机登陆账号
  4. 点击 CDN 控制台
  5. 找到对应加速域名并点击刷新缓存

虽然说每一步操作都很简单,但是实际操作起来还得要个几分钟,多操作几次就嫌麻烦,跟别说对要长期写博客的人来说(doge)

于是我用借助腾讯云的 nodejs SDK 来写了一些脚本,能够一键刷新缓存获取其他操作。但是必须要依赖一些库,如果在其他设备上很难实现

最后,借鉴于其他大佬博主,并且考虑到这些快捷方式可拓展性,最后我想用 Vercel 来搭建 API 函数,来实现以后的一键刷新缓存等其他操作

1. 初探 Vercel

vercel是一个用于前端框架和静态站点的平台

简单点理解 vercel 就是既有静态网站的功能、又能提供搭建一定功能的接口的平台

2. Vercel 的 API 接口是如何实现的

Vercel 不会将整个 API 放置在单个服务器中,而是会自动将每个 API 路由部署和扩展为独立服务,通过将它们定义为无服务器函数来启用。

在我的理解里,无服务函数(Serverless Functions),比较适合用于提供一些简单的功能,例如根据我传入的参数执行一些操作。不适合用作需要数据库的服务

3. Vercel 使用

在 Vercel 使用前,需要有一个 Vercel 的账号进行使用,[点击此处](https://vercel.com/login?next=%2Fdashboard)进入注册

3.1 新建项目

新建文件夹 > 使用npm初始化

3.2 下载 Vercel CLI

全局安装 vercel-cli

1
npm i -g vercel

Vercel Cli 文档

3.3 使用 Vercel CLI 登陆账号

1
vercel login

然后根据操作登陆到账号

3.4 写一个 API 函数

创建 api/index.js 文件,写入如下代码

1
2
3
4
/* 测试接口函数 */
export default async function handler(req, res) {
res.send(`Hello, this is a API test!`);
}

3.5 部署 API 函数

1
vercel # 部署到 Vercel 网络

部署成功后可访问终端的路径加上/api来访问,例如https://hostname/api

如果成功地得到 Hello, this is a API test!,说明 API 函数已经部署成功

4.总结

至此,Vercel已经能初步使用了。以后可以通过 QQ 或者 微信来调用这些 API(留坑)

在自建 API 时,Vercel 绝对是不错的选择之一,但是于此同时也要意识到 Vercel 提供的无服务函数的缺点,比如:启动时间长、调试比较麻烦、不能保证安全性、函数调用有限制等等。因此要根据自己的需求来选择平台

最后,感兴趣的可以参考一下我目前在使用的 Vercel 的项目,已经实现腾讯云 COS 静态网站的生成以及 CDN 刷新缓存功能

https://github.com/9cats/API