Node.js 的主要特点是什么?
Node.js 是一个跨平台的运行时环境,允许您创建服务器端和网络应用程序。 Node.js 应用程序是用 JavaScript 编写的,并利用 Node.js 运行时在 OS X、Microsoft Windows 和 Linux 上运行。
Node.js 还带有一个大型的 JavaScript 模块库,使得使用它构建 Web 应用程序变得更加容易。它增强了 Node.js 的功能。 NodeJs 促进了编程语言与 API、其他语言和各种第三方库的集成。它专门用于 Web 应用程序开发的“无处不在的 JavaScript”范例,并且可以处理服务器端脚本和客户端编程。
Web 开发是一个不断发展的过程,需要不断的创新和更新,以跟上每年过去对改变游戏规则的技术的渴望。大多数开发人员偏爱 JavaScript 进行前端编程,最近 NodeJS 将其用于后端开发。除了在线开发之外,NodeJS 还被用于移动应用程序开发。
NodeJs = Runtime Environment + Javascript library
使用 Node.js
第一步:在终端运行以下命令,验证是否安装了node.js。该命令将向我们的系统显示已安装的 NodeJs 版本。
node --version
步骤 2:使用以下命令创建 package.json 以存储项目的元数据。
npm init -y
第 3 步:现在在终端中使用以下命令在根目录中安装 express。
npm install express --save
第四步:在根目录下创建 app.js 文件。我们的文件夹结构如下图所示:
Javascript
// app.js
const express = require('express'); // Importing express module
const app = express(); // Creating an express object
const port = 5000; // Setting an port for this application
// Handing the route to the server
app.get('/', function (req, res) {
res.send('Welcome to Geeksforgeeks Article');
});
// Starting server using listen function
app.listen(port, function (err) {
if (err) {
console.log("Error!!!");
}
else {
console.log("Server is running at port " + port);
}
});
第 5 步:运行上述代码并使用以下命令启动服务器。
node app.js
输出:
Node.js 的功能
以下是 Node.js 可以执行的一些功能 -
- 从表单中收集数据。
- 数据库中的数据被添加、删除和更改。
- 呈现网页的动态内容。
- 服务器上的文件被创建、读取、写入、删除和关闭。
Node.js 的主要特点
- 异步和事件驱动: Node.js 库的 API 本质上都是异步(非阻塞)的。使用 Node.JS 构建的服务器从不等待来自 API 的数据。来自 API。访问 API 后,服务器会转到下一个 API。为了接收和跟踪先前 API 请求的响应,它使用称为事件的通知机制。
- 单线程: Node.js 采用带有事件循环的单线程架构,使其非常可扩展。与创建有限线程来处理请求的典型服务器相比,事件机制允许 node.js 服务器以非阻塞方式回复并使其更具可扩展性。与 Apache HTTP Server 等传统服务器相比,Node.js 使用可以处理大量请求的单线程程序。
- 可扩展性: NodeJs 解决了软件开发中最紧迫的问题之一:可扩展性。如今,大多数组织都需要可扩展的软件。 NodeJs 还可以有效地处理并发请求。它有一个集群模块,用于管理所有活动 CPU 内核的负载平衡。 NodeJs 对应用程序进行水平分区的能力是它最吸引人的特性。它通过使用子进程来实现这一点。这使组织可以向不同的目标受众提供不同的应用程序版本,从而使他们能够满足客户的定制偏好。
- 快速执行代码: Node.js 使用 V8 JavaScript Runtime 引擎,Google Chrome 也使用该引擎。 Hub 为 JavaScript 马达提供了一个包装器,这使得运行时马达更快。因此,Node.js 中的请求准备也变得更快。
- 跨平台兼容性: NodeJS 可用于多种系统,包括 Windows、Unix、Linux、Mac OS X 和移动设备。它可以与适当的包配对以生成自给自足的可执行文件。
- 使用 JavaScript: Node.js 库使用 JavaScript,从工程师的角度来看,这是 Node.js 的另一个重要方面。大多数工程师已经熟悉 JavaScript。因此,熟悉 JavaScript 的设计师会发现使用 Node.js 会容易得多。
- 快速数据流:当数据在多个流中传输时,处理它们需要很长时间。 Node.js 以非常快的速度处理数据。它同时处理和上传文件,从而节省大量时间。因此,NodeJs 提高了数据和视频流的整体速度。
- 无缓冲:在 Node.js 应用程序中,从不缓冲数据。
Node.js 的缺点
- API 不稳定,NodeJs 不断变化。
- 由于 NodeJ 的异步特性,大型应用程序的代码很复杂。
- 没有强大的图书馆支持系统
Node.js 的应用
以下是 Node.js 被证明是有效技术合作伙伴的一些领域 -
- 单页应用程序
- 数据密集型实时应用
- I/O 绑定应用程序
- 基于 JSON API 的应用程序
- 数据流应用