This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
EAS Hosting worker 运行时
编辑页面
了解 EAS Hosting worker 运行时和 Node.js 兼容性。
EAS Hosting 构建于 Cloudflare Workers,这是一个现代且强大的无服务器 API 平台,专为全球范围内的无缝扩展性、高可靠性和卓越性能而打造。
Cloudflare Workers 运行时基于 V8 JavaScript 引擎运行,该引擎同样为 Node.js 和 Chromium 中的 JavaScript 提供支持。不过,它的运行时与您在传统无服务器 Node.js 部署中习惯的环境有一些关键差异。
与其让每个请求在完整的 JavaScript 进程中运行,Workers 设计为在小型 V8 isolates 中运行它们,这是 V8 运行时的一项特性。可以把它们想象成单个 JavaScript 进程中的微型容器。
有关 Workers 工作原理的更多信息,请参阅 Cloudflare Workers 文档。
Node.js 兼容性
Cloudflare 是 Winter TC 的一部分,它更类似于浏览器和 service workers 中的 JavaScript 环境,而不是 Node.js。像这样的限制提供了比 Node.js 更轻量的运行时,同时仍然保持熟悉感。这个通用运行时是一个最小标准,如今已被许多 JavaScript 运行时支持。
这意味着,许多您可能习惯使用的 Node.js API,或您依赖的一些依赖项,并不能直接在 EAS Hosting 运行时中使用。为了简化这一过渡,由于并非所有依赖项都已获得对 Web API 的一等支持,因此存在 Node.js 兼容模块,您可以在 API 路由中使用它们。
这些模块通常提供的是 Node.js 对应模块的低精度 polyfill 或近似实现。
例如,fs、http 和 https 模块有额外的限制,并且属于 Node.js 兼容层,这与在 Node.js 进程中运行它们并不相同。
上述列出的任何 Node.js 模块都可以像往常一样在 API 路由或其依赖项中使用,并将使用相应的兼容模块。然而,其中一些模块可能不会提供任何实际功能,只是为了对 API 进行 shim 以防止运行时崩溃而存在。
未在此处提及的任何模块都不可用或不受支持,您的代码以及任何依赖项都不应依赖它们已被提供。
未来可能会添加更多 Node.js 兼容 shim,但本文档中未穷举列出的所有 Node.js API 都不应被期望可正常工作。