当前位置:首页 > 技术分析 > 正文内容

最新Node.js有什么,以及如何安装?

ruisui883个月前 (02-03)技术分析13

最新长期支持版 Node.js 在保持其作为企业级 JavaScript 应用程序首选运行时的同时,带来了更新。

译自 What's in the New Node.js, and How Do You Install It?,作者 Jack Wallen。

Node.js 仍然是最流行的 JavaScript 运行时之一。事实上,它就像一个巨无霸:自 2009 年推出以来,它似乎势不可挡。事实上,Node.js 是 JavaScript 的行业标准运行时,被 Netflix、Uber、eBay、PayPal、LinkedIn、Trello、NASA、沃尔玛、Groupon 等许多公司使用。

这个开源的跨平台运行时环境是开发可扩展网络应用程序的绝佳工具,并且已成为最广泛使用的 Web 框架之一。Node.js 如此流行的原因之一是它可以将加载时间减少多达 60%。对于大规模应用程序而言,这极其重要。

但是,最新版本有什么值得兴奋的呢?说实话,您必须回到 23.0.0 版本才能找到一个未被特别列为安全版本的版本。由于 23.0.0 版本于 2024 年 10 月 16 日发布,在科技年代中它可能看起来有点过时了,但它是一个 LTS 版本,因此它将存在一段时间。

至于 Node.js 23 中的新功能,让我们来看一下。

此版本有四个主要亮点:

  • require(esm) 语句已默认启用。这允许您使用 require() 函数加载 ESM 模块。这对于仍然依赖于 CommonJS 但又想利用 ESM 功能的项目特别有用。
  • 已删除对 Windows 32 位系统的支持。
  • node --run 命令已稳定。
  • 测试运行器已增强。

require(esm)

默认启用 require(esm) 后,当使用 require() 加载 ES 模块时,Node.js 将不再抛出 ERR_REQUIRE_ESM 错误。但是,如果要加载的 ES 模块包含顶级 await,它仍然可能抛出 ERR_REQUIRE_ASYNC_MODULE 错误。

Windows 32 位系统

如果您仍在使用 32 位 Windows 操作系统,Node.js 23.0.0 将不再运行。

node --run

Node.js 提供了一个内置的任务运行器,允许您执行在 package.json 文件中定义的特定命令。这是使用 --run 标志完成的,并且在 23.0.0 版本中,该选项得到了改进,现在更加稳定。

测试运行器

Node.js 测试运行器使创建 JavaScript 测试成为可能。以下是测试运行器的一些增强功能:

  • 它现在支持 glob 匹配覆盖文件。
  • 包括对 v8-stats 的更新。
  • 当未使用 --test 时仅检测测试。
  • 始终使 spec 成为默认报告器。
  • 将 lcov 报告器公开为可新建函数。
  • 支持在 run() 中使用自定义参数。
  • 添加了 test:summary 事件。
  • 添加了通过 run() 支持覆盖率。

其他更改

v23 中 Node.js 的其他更改包括:

  • V8: cherry-pick cd10ad7cdbe5
  • 从 v23 版本开始,在 AIX 上使用 GCC 12
  • 在触发事件之前将中止状态传播到相关信号
  • 更改 WeakMap 和 WeakSet 比较处理
  • Buffer: 写入缓冲区之外时抛出异常
  • Buffer: 使文件可克隆
  • Build: 将嵌入器字符串重置为“-node.0”
  • Build: 包含 v8-sandbox.h
  • CLI: 删除已弃用的 v8 标志
  • CLI: 删除 –no-experimental-global-customevent 标志
  • Crypto: 运行时弃用 crypto.fips
  • Net: 验证服务器侦听的主机名
  • Process: 删除 process.assert

您可以在此处阅读完整的 Node.js 更改日志。

首先,让我们在基于 Ubuntu 的 Linux 发行版上安装 Node.js 23。为此,请按照以下步骤操作。

使用以下命令安装必要的依赖项:

sudo apt-get install ca-certificates curl gnupg -y

使用以下命令导入必要的 GPG 密钥:

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

使用以下命令添加 Node.js 存储库:

NODE_MAJOR=23
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

使用以下命令更新 apt:

sudo apt-get update

使用以下命令安装 Node.js:

sudo apt-get install nodejs -y

接下来,我们将使用 nvm 作为安装程序在 macOS 上安装 Node.js 23。

使用以下命令下载并安装 nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

使用以下命令下载并安装 Node.js:

nvm install 23

最后,我们将使用 fnm 在 Windows 上安装 Node.js 23。

使用以下命令使用 winget 下载并安装 fnm:

winget install Schniz.fnm

使用以下命令安装 Node.js 23:

fnm install 23

您可以使用 node -v 命令验证安装。

您应该在输出中看到类似以下内容:

v23.6.1

如果您发现 Linux 系统仍然报告版本 20,则需要删除 Node.js (sudo apt-get remove nodejs -y),然后按照以下步骤安装它。

使用以下命令下载并安装 nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

关闭并重新打开您的终端窗口。终端打开后,使用以下命令安装 Node.js:

nvm install 23

这就是安装最新版 Node.js 的全部步骤。这个强大的运行时将在未来数年内为您提供良好的服务。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1130.html

标签: nodejs更新
分享给朋友:

“最新Node.js有什么,以及如何安装?” 的相关文章

企业如何高效进行费控管理?

作为一个职场人,无论是普通员工、财务人员还是企业管理人,都无法避开报销,而报销,就涉及到了企业成本费用控制,即费控。其控制的内容包括材料消耗成本控制、工资成本控制、费用成本控制。但在实际工作中,员工不知道如何规范化提交报销申请,报销容易频频被打回,导致报销周期长;财务人员也面临着报表滞后、账实不符、...

如何在GitLab上回退指定版本的代码?GitLab回退指定版本问题分析

在Git中,回退到指定版本并不是删除或撤销之前的提交,而是创建一个新的提交,该提交包含指定版本的内容。这意味着您需要将当前代码更改与指定版本之间的差异进行比较,并将其合并到一个新的提交中。如果您没有更新本地代码,并且您希望将 GitLab 仓库回退到指定版本,您可以使用以下命令:git fetchg...

美国民众负债累累 但今年假期消费者支出仍将创下新高

智通财经APP获悉,在迎接假期之际,许多美国人已经背负了创纪录的信用卡债务。然而,今年假期消费者支出仍将创下新高。根据美国零售联合会(NRF)上周发布的报告,预计今年11月1日至12月31日期间的消费总额将达到创纪录的9795亿至9890亿美元之间。NRF首席经济学家Jack Kleinhenz表示...

摄影后期必看 | PS插件camera raw 16.4教程 | 范围蒙版

范围蒙版Camera Raw 【蒙版】模块中提供了三个范围蒙版工具,可以通过特定的范围来创建蒙版。此次新增的【范围蒙版】大大加强了acr插件对局部调整的能力。点击下拉小箭头可以看到【颜色范围】,可用于快速选择想要编辑的颜色。快捷键:Shift + C【明亮度范围】,可用于快速选择想要调整的明亮度。快...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的空值。老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!const arr...

Vue学习笔记之动态路由的参数传递应用及技巧

路由的参数传递:①通过params的类型· 配置路由格式:/router/:id· 传递的方式:在path后面跟上对应的值· 传递后形成的路径:/router/list,/router/profile这个就是前两篇中提到的"动态路由"中有应用过这个方法:②通过query的类型(对象方...