你不知道的 ode.js 功能
Node.js 的性能提升及新功能:与 Deno 和 Bun 竞争
许多人热衷于讨论新型 JavaScript 运行时的速度,这间接地(有时直接地)暗示 Node.js 速度较慢或缺乏某些集成功能。Deno 2 和 Bun 的发展模式表明,它们旨在成为构建 JavaScript 应用程序的一体化工具包。它们:
- 自动加载 .env 文件
- 运行 package.json 中的脚本
- 从 npm 安装包
- 自带内置 API 用于编写和运行测试套件
- 等等
使用 Node.js 需要使用第三方工具来完成这些任务,例如使用 dotenv 来加载 .env 文件。
然而,Node.js 也一直在迎头赶上。本文将重点介绍自 20 或 22 版本以来添加的众多功能中的三个。让我们开始吧。
加载 .env 文件
许多人都依赖 dotenv 来加载环境文件。我们会编写 require('dotenv').config()
或 import 'dotenv/config'
,然后从 process.env
访问值。从 20.6.0 版本开始,您可以使用 --env-file
标志来指定 Node.js 应该从中加载环境变量的文件。
例如,以下命令将从 .env 文件加载环境变量:
node --env-file=.env index.js
您也可以通过两次传递标志来加载多个文件:
node --env-file=.env --env-file=config.env index.js
一些人报告说,通过移除 dotenv 包并直接使用 Node.js,他们的应用程序性能得到了提升。以下是 Wes Bos 关于他的应用程序启动时间从 1300 毫秒缩短到 1 毫秒的推文:
监视应用程序文件
我相信您已经使用过不同的工具来监视您的源文件,并在更改代码时重新启动应用程序。我们已经通过各种方式完成了这项工作,其中一种是使用 nodemon,这是一个实用程序,它监视源文件中的更改并自动重新启动服务器。
从 18.11.0 和 16.19.0 版本开始,node
CLI 获得了两个用于执行此操作的新标志:--watch
和 --watch-path
。运行 node --watch index.js
将以监视模式启动应用程序,并将监视入口点和任何必需或导入的模块。您应该使用 --watch-path
标志来指定要监视的路径,而不是入口文件及其导入的模块。
还有一个与监视模式相关的标志:--watch-preserve-output
标志。如果您希望在监视模式重新启动进程时防止清除控制台输出,可以使用此标志。
node --env-file=.env index.js
运行 package.json 中的脚本
虽然 Node.js 没有内置的包管理器,但大多数安装通常都捆绑了 npm。您已经从各种包管理器中使用了 npm run
或类似的命令来运行在 package.json
中定义的脚本。这不是问题,但 Bun 和 Deno 吹嘘启动和运行 package.json
脚本所需的时间,这可能使 Node 团队重新考虑了这个选项。
从 22.0.0 版本开始,Node.js 现在可以通过 --run
标志来运行脚本,例如 node --run dev
。这不仅仅是替换 npm run
而不带来任何好处和限制。使用 node --run
已被证明比 npm run
命令更快。故意排除的其他运行实现的一些功能包括:
- 除了指定的脚本之外,还运行预脚本或后脚本。
- 定义包管理器特定的环境变量。
您可以在文档中阅读更多关于此标志的信息。
总结
本文探讨了 Node.js 的最新改进,这些改进使其更接近 Deno 2 和 Bun 提供的集成功能。我们检查了以下功能:
- 从 20.6.0 版本开始使用
--env-file
标志加载 .env 文件 - 在 18.11.0 和 16.19.0 版本中引入的
--watch
和--watch-path
标志提供的本地文件监视功能 - 从 22.0.0 版本开始可用的
--run
标志提供了一种更快的运行package.json
脚本的方法
这些更新有助于 Node.js 通过减少对第三方工具的需求以及提高性能、安全性和可用性来赶上其他运行时。
原文由我在 Telerik 博客上发布
以上是你不知道的 ode.js 功能的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。
