首页 » Node.js v20 中的新功能(测试运行器、授权模型、SEA、V8 JS 引擎 11.3)

Node.js v20 中的新功能(测试运行器、授权模型、SEA、V8 JS 引擎 11.3)

Node.js v20 终于发布了! 2023年4月18日,它被公开,现在任何人都可以使用。随着此版本的发布,Node.js 应该更加安全和高效。

重要的是要知道由于

这是一个均匀版本,它将在 2023 年 10 月成为  WS 数据库 长期支持 (LTS) 版本,并将支持到 2026 年 4 月。但是,Node.js 团队正在寻求社区反馈,以便在升级到 LTS 版本之前识别和修复任何问题。

Node.js 的新版本带来了一些令人兴奋的更新和功能,开发人员一定会喜欢,例如实验性的权限模型、同步 import.meta.resolve、稳定的测试运行器、V8 JavaScript 引擎更新至 11.3 版本(性能改进和错误修复)等等。

在本文中,我们将探讨 Node.js v20 中引入的变化,深入了解其新特性和功能。

如何开始使用 Node.js v20
安装 Node.js v20 与安装其他版本的 Node.js 非常相似。您所要做的就是:

从Node.js官方网站下载安装包。
下载安装程序后,运行它并按照说 社交媒体:Snapchat 开设应用内购物功能  明完成安装过程。该过程非常简单,您只需接受许可协议并单击“下一步”按钮即可。
安装过程完成后重新启动系统/机器,以确保所有更改生效。
使用以下命令验证您的 Node.js 安装:
节点-v
使用 Node.js v20 安装验证命令的编辑器屏幕截图
安装 Node.js v20
如果您看到版本号(v20.0.0),则表示 Node.js 已成功安装,您可以开始使用 Node.js v20。

Node.js v20 有哪些新功能?

让我们看看此版本

Node.js 引入的 5 个主要 巴西商业名录  更新。这些功能包括:

实验授权模型
稳定测试运行器
JavaScript V8 引擎已更新至 11.3
Import.meta.resolve() 同步
实验性单一可执行应用程序(SEA)
实验授权模型
Node.js v20 中引入的实验性权限模型是一个重要的补充,它可以在运行时更好地控制对特定资源的访问。

当安全性和资源利用率至关重要时(例如在生产环境中),此新功能非常有用。

权限模型提供了多种可能性

包括限制对文件系统、子进程、工作线程和本机插件的访问。

您可以使用 –allow-fs-read、–allow-fs-write 和 –allow-child-process 等标志来指定哪些资源可访问。要启用这些标志,您必须将 –experimental-permission 标志与所需的权限结合使用。

以下是如何使用权限模型允许对整个文件系统进行读写访问的示例:

$ node –experimental-permission –allow-fs-read=* –allow-fs-write=* index.js
您还可以使用权限模板来指定对特定文件夹和文件的访问权限。例如,以下命令允许对 /tmp/ 文件夹进行写访问:

$ node –experimental-permission –allow-fs-write=/tmp/ –allow-fs-read=/home/index.js index.js
权限模型的一个显著优势是能够对文件系统的访问进行更精细的控制。例如,您可以指定路径和通配符模式以允许访问特定的文件夹或文件。

$ node –experimental-permission –allow-fs-read=/home/user/* index.js
上述命令允许对 /home/user/ 目录中的所有文件夹进行读取访问。

进程对象的权限属性

可用于检查运行时是否已授予特定权限。例如,如果您想检查您的 Node.js 进程是否有对特定文件夹 /home/user/documents 的读取权限,您可以使用以下代码:

如果(process.permission.has(’fs.read’,’/home/user/documents’)){
console.log(‘授予 /home/user/documents 读取权限’);
} 别的 {
console.log(‘未授予 /home/user/documents 读取权限’);
}
通过使用权限模型,您可以更好地控制 Node.js 进程的文件系统访问,从而提高安全性并更有效地利用资源。

值得注意的是,授权模型仍处于实验阶段,可能会在未来版本的 Node.js 中发生变化。建议保持最新状态

滚动至顶部