网站开发年收入,北京网吧,网站建设浙江公司,wordpress pjaxNode.js 23 现已推出#xff0c;带来了新功能、性能改进和更好的开发者体验。此次版本提升了兼容性和稳定性#xff0c;提供了更多工具来构建高效的应用程序。
此外#xff0c;Node.js 22 将在 10 月 29 日当周被提升为长期支持 (LTS) 版本#xff0c;进入长期维护阶段带来了新功能、性能改进和更好的开发者体验。此次版本提升了兼容性和稳定性提供了更多工具来构建高效的应用程序。
此外Node.js 22 将在 10 月 29 日当周被提升为长期支持 (LTS) 版本进入长期维护阶段以确保稳定和安全的更新。
Node.js 23 的亮点 支持使用 require() 加载原生 ES 模块——在 v23.0.0 之前该功能是通过 --experimental-require-module 启用的。 移除对 Windows 32 位系统的支持Node.js 23 不再支持 32 位 Windows重点支持现代环境。 稳定了 --run 命令--run 标志已被稳定化提升了脚本执行效率。 测试运行器增强测试运行器现在支持针对覆盖文件的全局模式改进了测试配置。
关于 Node.js 项目版本号的一些提醒像今天发布的 Node.js 23 这样奇数版本非常适合在您的特定环境中进行早期功能测试。奇数版本不会被提升为 LTS。偶数版本如当前的 Node.js 22一旦成为 LTS将重点关注稳定性和安全性并支持 30 个月。
默认启用 require(esm)
使用 require() 加载原生 ES 模块的支持已在 v20.x 和 v22.x 中通过命令行标志 --experimental-require-module 提供。在 v23.x 中此功能现已默认启用。此功能仍为实验性功能我们正在寻求用户反馈以便在完全稳定之前进行更多的最终调整。因此在 v23.x 中当 Node.js 实例首次在 require() 中遇到原生 ES 模块时会发出实验性警告。
如果此功能导致任何回归问题用户可以将其报告到 Node.js 的问题跟踪器。同时此功能也可以通过 --no-experimental-require-module 作为解决方法禁用。我们预计将在 v23.x 中测试此功能找出潜在的回归问题并相应地进行调整然后再将这一取消标志的更改回溯到 v22.x。这可能会在 10 月底 LTS 推广后的某个 semver-minor 版本中发生。
启用此功能后Node.js 将不再在使用 require() 加载 ES 模块时抛出 ERR_REQUIRE_ESM。但是如果被加载的 ES 模块或其依赖项包含顶层 await则可能会抛出 ERR_REQUIRE_ASYNC_MODULE。当 require() 成功加载 ES 模块时返回的对象将是一个类似于 import() 返回的 ES 模块命名空间对象并且可以使用 util.isModuleNamespaceObject() 进行检查。
用户可以通过 process.features.require_module 检查当前 Node.js 实例是否启用了 require(esm)。对于包来说可以使用 module-sync 导出条件来检测当前 Node.js 实例是否支持 require(esm)并允许 require() 和 import 都加载同一个原生 ES 模块。有关此功能的更多详细信息请参阅文档。