← 返回 2026年Netlify边缘函数:它们是什么以及与函数有什么区别 -- 线条艺术插图

2026年Netlify Edge Functions:它们是什么,以及与Functions的区别

Next.js 与无头架构

Netlify Edge Functions是在Deno上运行的JavaScript或TypeScript函数,运行在Netlify网络边缘最接近每个访问者的位置,而不是在单个无服务器区域。它们是必须在响应之前或周围进行的工作的工具:重定向、身份验证检查、地理定位、个性化和流式处理。在2026年,更常见的问题不是它们是什么,而是它们与普通Netlify Functions的区别,以及你的代码应该放在哪里。这是诚实的版本。

核心要点:Netlify边缘函数在网络边缘的Deno上运行,用于重定向和个性化,而普通Netlify函数使用AWS Lambda上的Node.js来处理更复杂的API和后端工作。

Netlify Edge Functions是什么?

Netlify Edge Functions是在Netlify网络边缘靠近用户的位置执行的基于Deno的函数。因为它们运行在Deno上,一个开放的、网络标准的运行时,你会得到fetch、Request和Response等API,而不是完整的Node.js表面。它们位于你的站点前面,可以在请求到达你的页面之前读取或重写请求,这使它们成为中间件风格工作的正确位置:重定向、A/B测试、地区路由、机器人过滤和身份验证门。

Netlify Edge Functions与Netlify Functions:有什么区别?

简短版本:Netlify Functions是AWS Lambda上的区域无服务器函数,Netlify Edge Functions在边缘运行Deno。实际的区别:

  • 函数运行在一个 AWS 区域。Edge Functions 运行在最接近访客的接入点。
  • 运行时:Functions 为你提供 Node.js 环境和 npm 生态。Edge Functions 提供 Deno 和网络标准 API,所以仅限 Node 的包可能无法工作。
  • 超时:Functions 针对请求和响应工作设计,执行窗口较短。Edge Functions 设计为轻量和快速,在每个匹配请求上运行。
  • 免费限额:免费层包括每月 125,000 次无服务器函数调用和 1,000,000 次 edge 函数调用,所以 edge 工作的空间远大得多。
  • 最佳用途:当你需要真实的包、较长的工作或后端风格的 API 时,选择 Functions。当需要重定向、个性化、流媒体以及任何应该在靠近用户处发生的事情时,选择 Edge Functions。

Netlify 在其 Edge Functions 概览中记录了运行时和限制。

Netlify 是免费的吗,Edge Functions 包括在内吗?

是的。Netlify 的免费 Starter 计划是真正免费的,无需信用卡,Edge Functions 包含在每个计划中,包括免费计划。Starter 层为你提供 100 GB 带宽、300 分钟构建时间、每月 125,000 次无服务器函数调用和 1,000,000 次 edge 函数调用,加上部署预览、带 SSL 的自定义域名和全球 CDN。付费计划从 Pro 层开始,每个成员每月约 19 美元,然后按信用额基础使用超过包含限制的部分。

何时应该使用 Netlify Edge Functions?

当工作需要在靠近用户处进行或在页面呈现前发生时,使用 Edge Functions:

  • 用于地理位置重定向、区域路由、A/B 测试、身份验证和机器人检查、请求和响应重写,以及流式响应。
  • 对于 API 端点、需要 npm 包或 Node 内置模块的工作、数据库调用和任何长时间运行的操作,使用普通的 Netlify Functions。
  • 保持它们很小。Edge Function 在每个匹配的请求上都会运行,所以在那里的重逻辑会在每次命中时付费。

Netlify Edge Functions 与 Vercel 和 Cloudflare 相比如何?

三者都在边缘运行代码,但使用不同的运行时。Netlify Edge Functions 使用 Deno。Vercel 的 Edge 运行时使用 V8 隔离,在 2025 年的变更后现在在 Vercel Functions 上运行,我们在 Vercel Edge 说明中有详细介绍。Cloudflare Workers 也使用 V8 隔离,并拥有最广泛的边缘网络。如果您在比较平台而不是运行时,我们的 Netlify vs Vercel 比较和更广泛的云托管分解会深入讨论。对于运行时层,请参阅边缘计算目录

常见问题

Netlify Functions 和 Edge Functions 之间有什么区别?

Netlify Functions 是 AWS Lambda 上的区域无服务器函数,使用 Node.js 运行时为 API 和后端工作而构建。Edge Functions 在网络边缘的 Deno 上运行,靠近用户,为重定向、个性化和流式传输而构建。Functions 为您提供 npm 包;Edge Functions 为您提供速度和网络标准 API。

Netlify Edge Functions 免费吗?

是的。Edge Functions 包含在每个 Netlify 计划中,包括免费的 Starter 套餐,每月涵盖 1,000,000 次 edge function 调用。这远超过同一免费套餐上 125,000 次无服务器函数调用的余量。超过包含限制的使用量在付费计划上转移到基于信用的定价。

Netlify Edge Functions 使用什么运行时?

Netlify Edge Functions 运行在 Deno 上,这是一个开放的、遵循网络标准的运行时。你可以用 JavaScript 或 TypeScript 编写代码,调用 fetch、Request 和 Response 等 API,而不是完整的 Node.js 表面。依赖 Node 内置模块的包可能无法运行,所以在迁移服务器代码前要检查兼容性。

什么时候应该使用 Edge Function 而不是 Function?

当工作需要在靠近用户的地方或页面渲染前执行时,使用 Edge Function:重定向、地理位置、语言路由、A/B 测试、身份验证检查和流式处理。对于 API 端点、数据库操作以及需要 npm 包或更长执行时间的任何任务,使用常规 Netlify Function。

简版说法:Netlify Functions 是你的区域无服务器后端,Netlify Edge Functions 是你的快速、由 Deno 驱动的边缘层。大多数网站最终会同时使用两者,用 Functions 处理 API,用 Edge Functions 处理重定向和前面的个性化。按工作需要发生的位置来选择,而不是哪个听起来更新。

← 返回