讲师中心 微信公众号
AI工具推荐 视频效率加速

Nodejs 的新功能

阿静同学_5051

阿静同学_5051

发布时间:2024-09-13 08:40:32

|

1093人浏览过

|

来源于dev.to

转载

nodejs 的新功能

TL;DR: 让我们探索 Node.js 22 的主要功能,包括 ECMAScript 模块支持和 V8 引擎更新。此版本引入了 Maglev 编译器和内置 WebSocket 客户端,以增强性能和实时通信。还涵盖了测试、调试和文件系统管理方面的改进。 Node.js 22 将于 10 月进入 LTS,现在是尝试这些功能的最佳时机!

在本博客中,我们将探讨 5 月 2 日发布的 Node.js 最新稳定版本 Node.js 22.1.0 的功能。 Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境,专为开发人员创建服务器、Web 应用程序、命令行工具和脚本而设计。

版本 22 加载了一系列令人兴奋的功能和增强功能!它带来了增强的功能,包括 CommonJS 模块中 require () ECMAScript 模块 (ESM)。 Node.js 22 将是当前版本,直到下个月,并在 10 月份进入长期支持 (LTS)。在此之前,请探索这些新功能并评估它们对您的应用程序的影响。

V8 JavaScript 引擎

V8 是 Google 使用 C++ 开发的开源、高性能 JavaScript 和 WebAssembly 引擎。它用于 Chrome、Node.js 和其他平台。 V8 支持 ECMAScript 和 WebAssembly,在具有 x64、IA-32 或 ARM 处理器的 Windows、macOS 和 Linux 系统上运行,并且可以集成到 C++ 应用程序中。

V8 引擎已更新至版本 12.4,其中包括 WebAssembly、垃圾回收和数组等功能。

支持 require() ESM 图

Node.js 22 引入了一项重大更新,支持 require() ECMAScript 模块图。此增强功能允许开发人员使用 require() 函数加载 ESM 图。 ECMAScript 模块代表了现代 JavaScript 模块系统,提供了传统 CommonJS 模块的替代方案。

Node.js 支持使用 require() 函数同步 ESM 导入,由 –experimental-require-module 标志促进。当启用此标志并通过 require() 加载 ECMAScript 模块时,它必须满足两个特定条件:

  • 该模块被显式标识为 ES 模块,可以通过最近的 package.json 文件中的 “type”: “module” 字段或通过具有 .mjs 文件扩展名。
  • 模块完全同步。

在这些条件下,require()函数会将请求的模块视为ES模块并返回模块命名空间对象。此行为类似于动态 import() 函数,但同步操作,直接提供命名空间对象。

最终目标是使 require(esm) 功能成为默认行为,从而消除对实验标志的需要。

磁悬浮编译器

V8 Maglev 编译器是新推出的即时(JIT) 编译器,现在在支持的架构上默认启用。该编译器旨在增强短期命令行界面(CLI)程序的性能。 Maglev 编译器位于现有 Sparkplug 和 Turbofa 编译器之间,通过提供快速启动时间和高效运行时性能之间的平衡来优化代码执行。通过默认启用,它可以确保开发人员无需额外配置即可立即受益于其性能改进。

WebSocket客户端

Node.js 版本 22 无缝集成了内置 WebSocket 客户端,通过消除对额外库的需求,显着增强了实时应用程序的开发流程。

Node.js 中的 WebSocket 可实现服务器和客户端之间的实时双向通信,使其成为需要低延迟更新的应用程序的理想选择,例如聊天应用程序、实时通知和实时数据源。

内置的 WebSocket 客户端以前是实验性的,但现在已经稳定,并且在 Node.js 22 中默认启用。这确保了浏览器兼容性,并允许其他 WebSocket 客户端无需外部依赖即可连接到 Node.js。这种内置的 WebSocket 功能简化了需要实时数据更新的应用程序的开发,例如聊天应用程序或实时通知。

macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

下载

增强的测试和调试工具

Node.js 版本 22 在生成 AbortSignal 时引入了优化,显着受益于高级 API,例如 Fetch API 和 Node.js 的测试框架。创建 AbortSignal 实例的过程现在更加高效,从而加快依赖这些信号的任务的运行时间。

此改进直接影响使用 AbortSignal 中止异步操作的应用程序的性能,使它们更具响应性和效率。

高级文件系统管理

Node.js 22 通过添加 glob 和 globSync 函数,对 node:fs 模块进行了显着增强。此更新丰富了 Node.js 的功能,提供了用于模式匹配的新工具。开发团队可以配备这些新功能,以根据指定模式匹配文件路径。

稳定的监视模式命令行

观看模式命令行功能现已达到稳定状态。最初作为 Node.js 19 中的实验性功能引入,现已在 Node.js 22 中进行了完善并完全稳定。此功能允许开发人员在监视文件中检测到更改时自动重新启动应用程序,显着提升开发效率。

可用的关键选项:

  • –观看
  • –观看路径
  • –监视保留输出

监视模式命令行的主要优点是它为开发过程带来的时间效率。通过依靠应用程序在文件更改时自动重启,开发人员可以更多地专注于编码,而不是手动重启。

字符串解码器的增强

在 Node.js 22 中,string_decoder 模块提供了一个 API,用于将 Buffer 对象解码为字符串,确保多字节字符被正确保留。这对于处理可能分布在多个缓冲区实例中的文本数据特别有用。

string_decoder 模块确保多字节 UTF-8 和 UTF-16 字符不会拆分到多个缓冲区实例,这在流式传输时可能会发生数据。该模块提供了一个简单的 API,其中包含将缓冲区解码为字符串的方法。

流默认高水位线

在 Node.js 22 中,流的默认高水位线已从 16 KiB 增加到 64 KiB。此调整旨在增强各种应用程序的性能,尽管它可能会导致内存使用量稍高。在内存敏感环境中工作的开发人员应考虑手动设置高水位线以满足他们的需求。

结论

感谢您的阅读!随着 Node.js 逐渐将这些改进集成为标准功能,并且随着我们越来越接近其获得长期支持,现在是尝试这些增强功能的最佳时机。通过采用这些新功能,开发人员可以确保他们的应用程序始终处于技术前沿,充分利用 Node.js 22 提供的稳定性、性能和效率。无论您是在开发服务器应用程序、Web 应用程序,还是只是探索最新的 JavaScript 技术,Node.js 22 都是一项引人注目的更新,有望丰富您的开发体验。

要了解有关 Node.js 22 及其功能的更多信息,请访问 Node.js 官方文档和发布博客。

如果您已经是 Syncfusion 用户,可以在许可证和下载页面上获取最新版本的 Essential Studio。我们为新用户提供 30 天免费试用期,以探索我们所有组件的特性和功能。

如果您需要进一步帮助,请通过我们的支持论坛、支持门户或反馈门户联系我们。我们随时为您提供帮助!

相关博客

  • JavaScript 新增功能:ECMAScript 2024(第 15 版)
  • 您应该如何对待NPM审核结果
  • JavaScript 和 TypeScript 的顶级 Linters:简化代码质量管理
  • 每个开发人员都应该知道的 7 个 JavaScript 单元测试框架

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

312

2026.02.13

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

520

2026.02.25

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

391

2026.03.13

TypeScript 全栈开发进阶指南
TypeScript 全栈开发进阶指南

面向有 JavaScript 基础的开发者,深入讲解 TypeScript 的类型系统与全栈开发实践。

306

2026.06.03

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

678

2026.06.16

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2215

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3542

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1176

2023.10.13

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

100

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn