什么是 Edge?
当人们说“the edge”时,他们的意思是您的网站或应用程序将同时托管在全球多台服务器上,始终靠近用户。当有人请求您的网站/应用程序时,他们将被定向到地理位置最接近他们的网站/应用程序。这些分布式服务器不仅服务于静态资源,而且还可以执行可为动态 Web 应用程序提供支持的自定义代码。
Edge 的优势
平均而言,Edge Functions 比 Serverless Functions 具有更高的性能和成本效益。Edge Functions 在全球范围内部署在服务提供商的 Edge Network 上,并且可以在离触发它们的用户最近的区域自动执行。它们也没有冷启动,这意味着它们在执行代码之前不需要额外的时间来启动。
快速开始
Vercel 为开发人员提供了相应的服务,本文将以 Vercel 为平台,Next.js为基础框架,带你部署你的第一个边缘函数。在开始之前,你应该拥有:
- Node 环境
- Github 账号
- Vercel 账号(注册请访问:https://vercel.com/)
第一步:创建一个新的 Next.js 项目
npx create-next-app@latest --typescript
第二步:将代码添加到您的函数
创建pages/api/hello.ts
文件:
import { NextRequest, NextResponse } from 'next/server';
export const config = {
runtime: 'edge', // 指定函数的运行时
};
export default (req: NextRequest) => {
return NextResponse.json({
name: `Hello, from ${req.url} I'm now an Edge Function!`,
});
};
第三步:部署
将创建的 Next.js 项目提交到Github。登录 Vercel 平台后,在 dashboard 上添加一个新项目。
绑定你的 Github 账号后,选择刚才提交到 Github 的项目,开始部署!
访问 vercel 给你的域名就可以访问你的项目,如:https://your-project-name.vercel.app/
访问 域名+/api/hello
就会执行 Edge Function 了。
第四步:查看日志
在dashboard中,单击已部署的项目并选择Functions选项卡。此选项卡显示项目中任何正在运行的函数的日志。使用下拉菜单选择函数api/hello
就可以看到日志。
总结
你已经初步认识并部署了你的第一个边缘函数。希望能对你有帮助!