Netlify Edge Functions是在Deno上运行的JavaScript或TypeScript函数,运行在Netlify网络边缘最接近每个访问者的位置,而不是在单个无服务器区域。它们是必须在响应之前或周围进行的工作的工具:重定向、身份验证检查、地理定位、个性化和流式处理。在2026年,更常见的问题不是它们是什么,而是它们与普通Netlify Functions的区别,以及你的代码应该放在哪里。这是诚实的版本。
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 run in one AWS region. Edge Functions run at the point of presence nearest the visitor.
- 运行时:Functions 为你提供 Node.js 环境和 npm 生态。Edge Functions 提供 Deno 和网络标准 API,所以仅限 Node 的包可能无法工作。: Functions give you the Node.js environment and the npm ecosystem. Edge Functions give you Deno and web-standard APIs, so Node-only packages may not work.
- 超时:Functions 针对请求和响应工作设计,执行窗口较短。Edge Functions 设计为轻量和快速,在每个匹配请求上运行。: Functions are built for request and response work with a short execution window. Edge Functions are meant to be light and fast, running on every matching request.
- 免费限额:免费层包括每月 125,000 次无服务器函数调用和 1,000,000 次 edge 函数调用,所以 edge 工作的空间远大得多。: the free tier includes 125,000 serverless function invocations and 1,000,000 edge function invocations a month, so edge work has far more headroom.
- 最佳用途:当你需要真实的包、较长的工作或后端风格的 API 时,选择 Functions。当需要重定向、个性化、流媒体以及任何应该在靠近用户处发生的事情时,选择 Edge Functions。: reach for Functions when you need real packages, longer work, or a backend-style API. Reach for Edge Functions for redirects, personalisation, streaming, and anything that should happen close to the user.
Netlify 在其 Edge Functions 概览中记录了运行时和限制。Edge Functions overview.
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 测试、身份验证和机器人检查、请求和响应重写,以及流式响应。 geolocation redirects, locale routing, A/B tests, auth and bot checks, request and response rewriting, and streaming responses.
- 对于 API 端点、需要 npm 包或 Node 内置模块的工作、数据库调用和任何长时间运行的操作,使用普通的 Netlify Functions。 API endpoints, work that needs npm packages or Node built-ins, database calls, and anything longer-running.
- 保持它们很小。Edge Function 在每个匹配的请求上都会运行,所以在那里的重逻辑会在每次命中时付费。 An Edge Function runs on every matching request, so heavy logic there is paid on every hit.
Netlify Edge Functions 与 Vercel 和 Cloudflare 相比如何?
三者都在边缘运行代码,但使用不同的运行时。Netlify Edge Functions 使用 Deno。Vercel 的 Edge 运行时使用 V8 隔离,在 2025 年的变更后现在在 Vercel Functions 上运行,我们在 Vercel Edge 说明中有详细介绍。Cloudflare Workers 也使用 V8 隔离,并拥有最广泛的边缘网络。如果您在比较平台而不是运行时,我们的 Netlify vs Vercel 比较和更广泛的云托管分解会深入讨论。对于运行时层,请参阅边缘计算目录。Vercel Edge explainer. Cloudflare Workers also use V8 isolates and have the widest edge network. If you are weighing the platforms rather than the runtimes, our Netlify vs Vercel comparison and the broader cloud hosting breakdown go deeper. For the runtime layer specifically, see the edge compute directory.
常见问题
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 处理重定向和前面的个性化。按工作需要发生的位置来选择,而不是哪个听起来更新。
