Node.js v24.8.0 新功能预览!🚀🚀🚀

前言

Node.js 发布了v24.8.0(Current)版本,让我们一起来了解这些新功能吧!

往期精彩推荐

正文

HTTP/2网络检查支持

此次更新的核心在于HTTP/2网络检查支持!

这项功能的使用非常直观。使用node:http2模块发起HTTP/2请求即可,

下面是个示例:

javascript 复制代码
const http2 = require('node:http2');
const client = http2.connect('https://nghttp2.org');
const req = client.request([':path', '/', ':method', 'GET']);

然后,通过以下命令运行脚本:

css 复制代码
node --inspect-wait --experimental-network-inspection test.js

在Google Chrome 输入 about:inspect,点击"Open dedicated DevTools for Node",

即可在 Network 标签页跟踪 HTTP/2 调用。这有助于开发者快速定位网络问题。

Crypto模块增强

crypto 模块的主要作用就是提供加密与解密相关的功能,也就是做各种安全性操作!

本次更新,crypto 模块迎来多项 SEMVER-MINOR 级别变更,支持更多现代加密算法:

  • 支持Ed448和ML-DSA上下文参数,在node:crypto和Web Cryptography中实现
  • 添加KMAC Web Cryptography算法
  • 添加Argon2 Web Cryptography算法
  • 支持SLH-DSA KeyObject、sign和verify操作

这些增强扩展了 Node.js 在加密领域的应用,尤其适用于高安全性Web开发场景。

Node.js 版本号格式:MAJOR.MINOR.PATCH

  • MAJOR(主版本号)有 不兼容的 API 变更 时增加(可能会破坏旧代码)。
  • MINOR(次版本号)向下兼容地 新增功能 时增加。
  • PATCH(修订号)向下兼容地 修复 bug 时增加。

worker 模块新增 CPU 性能分析 API

worker模块新增CPU性能分析API,支持在worker线程中进行CPU剖析,提升多线程应用的优化能力。

js 复制代码
const { Worker } = require('worker_threads');

const worker = new Worker(`
  const { parentPort } = require('worker_threads');
  parentPort.on('message', () => {
    // some work
  });
`, { eval: true });

worker.on('online', async () => {
  const handle = await worker.startCpuProfile(/* 可传 name,非必需 */);
  const profile = await handle.stop();
  console.log(profile); // profile 对象,包含 CPU 分析数据
  worker.terminate();
});

依赖更新

此版本更新了多项第三方库,确保稳定性和兼容性:

  • uvwasi 更新到 0.0.23
  • histogram 更新到 0.11.9
  • googletest 更新到 eb2d85e
  • npm 更新到 11.6.0
  • V8 cherry-pick 6b1b9bca2a8
  • amaro 更新到 1.1.2

最后

总之,Node.js v24.8.0通过HTTP/2检查和crypto增强,进一步强化了其作为现代JavaScript运行时的地位,开发者可根据需求及时更新。

今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!

往期精彩推荐

相关推荐
超人不会飛3 小时前
大模型应用 Vue H5 模板:快速落地流式交互与富文本渲染的开箱方案
前端·vue.js·github
用户458203153173 小时前
CSS无需JavaScript的交互效果实现
前端·css
影i3 小时前
在 Vue + Codemirror 中优雅回显 JSON
前端
奇怪的前端73 小时前
Alien-Signals 响应式系统
前端·vue.js
你单排吧3 小时前
Electron打包图标修改失败问题
前端
Adorable老犀牛3 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
@AfeiyuO3 小时前
vue3 实现将页面生成 pdf 导出(html2Canvas + jspdf)
前端·pdf·vue
太空游走的鱼3 小时前
Vue3 + Vite + Element Plus web转为 Electron 应用,解决无法登录、隐藏自定义导航栏
javascript·electron·vue3·管理系统·element plsu
华仔啊3 小时前
Vue 的 DOM 更新竟然是异步的?90%的人没有搞懂 nextTick
前端·vue.js