Hasty Briefsbeta

双语

How we rebuilt Cloudflare Workers' module registry for Node.js compatibility

20 days ago
  • Cloudflare重写了workerd中的模块注册表,使其更快、更符合标准,并与Node.js的模块注册表紧密对齐。
  • 新实现默认支持所有稳定的Node.js运行时API,增大了大小限制(最高64MiB),并且没有压缩包大小限制。
  • 关键改进包括:有效的import.meta方法、基于URL的说明符、经过验证的导入属性、兼容Node.js的require(esm)行为、一致的错误类、延迟编译以及WebAssembly源阶段导入。
  • 旧的注册表使用文件系统风格路径,预先编译所有模块,并为每个隔离保留单独的副本;新的注册表使用URL,延迟编译模块,并在隔离之间共享缓存。
  • 用户可以通过'new_module_registry'兼容性标志启用新的注册表,并且在设置默认开启日期之前需要明确选择加入。