在Cloudflare Workers上使用更多NPM包:结合polyfills和原生代码支持Node.js API

在Cloudflare Workers上使用更多NPM包:结合polyfills和原生代码支持Node.js API

💡 原文英文,约2000词,阅读约需8分钟。
📝

内容提要

Cloudflare宣布改进了Workers和Pages的Node.js兼容性,允许用户使用更多的NPM包和JavaScript生态系统。新的兼容性结合了以前的努力的最佳特性,允许在Workers上使用更多的Node.js API。用户可以通过在wrangler.toml中添加标志并使用Wrangler部署他们的Worker来尝试它。改进的兼容性将很快成为所有启用了现有兼容性标志的Workers的默认设置。Cloudflare Workers运行在一个名为workerd的JavaScript/Wasm运行时上,该运行时旨在运行不受信任的代码并使用Web标准API。新的方法在Workers运行时中直接实现了一部分Node.js API,并为其他Node.js API提供了polyfills。用户还可以使用模块别名来实现缺失的API。Cloudflare正在积极为unenv项目做出贡献,该项目根据使用的API和目标运行时添加必要的polyfills。

🎯

关键要点

  • Cloudflare宣布改进Workers和Pages的Node.js兼容性,支持更多NPM包和JavaScript生态系统。
  • 新的Node.js兼容性结合了之前努力的最佳特性,允许在Workers上使用更多Node.js API。
  • 用户可以通过在wrangler.toml中添加标志来尝试新的兼容性。
  • 改进的兼容性将成为所有启用了现有兼容性标志的Workers的默认设置。
  • Cloudflare Workers运行在workerd运行时上,旨在运行不受信任的代码。
  • Cloudflare为unenv项目做出贡献,提供必要的polyfills。
  • 新的方法实现了一部分Node.js API,并为其他API提供polyfills。
  • 用户可以使用模块别名来实现缺失的API。
  • 改进的Node.js兼容性允许使用更多NPM包,包括body-parser、jsonwebtoken等。
  • 新的混合模型结合了直接实现的Node.js API和polyfills,简化了使用过程。
  • 用户可以通过模块别名实现未实现的Node.js API的功能。
  • Cloudflare计划在2024年9月23日将新行为设为默认设置。
➡️

继续阅读