跳到主要内容位置

3 分钟了解 Node.js

什么是 Node.js

Node.js 是一个可以运行在服务器端的 JavaScript 运行环境,并且是开源和跨平台的。我们在网页中使用的 JavaScript 是浏览器提供的运行环境,是运行在客户端,也就是用户的电脑上的。

Node.js 则把 Chrome 的 V8 JS 引擎独立了出来,脱离了浏览器,这样就可以使用 JavaScript 开发服务端应用了。

全栈开发

因为 Node.js 同样使用 JavaScript 语言,那么我们可以只学习一种语言,就可以开发多端应用,变成全栈工程师,减少了学习成本。

热门程度

在 stackoverflow 2024 年的开发者调查中显示,Node.js 是最热门的服务端开发技术:

stackoverflow 2024 年的开发者调查 Node.js

而 JavaScript 则是适用人数最多的语言:

JavaScript 排行

并且 Node.js Foundation 报告世界 500 强中有 98% 都或多或少的使用了 Node.js。

Node.js 在 500 强使用情况

谁、何时开发了 Node.js

Node.js 是由 Ryan Dahl 开发的,于 2009 年发布。开发 Node.js 目的是为了解决 Apache 这个热门服务器在处理大量并发连接时的性能,同时减少资源消耗。

Event Driven 架构

Node.js 采用了事件驱动,非阻塞 I/O 的架构模式,并且使用单线程结合 Event Loop 的方式来执行代码。不需要维护线程池,减少了内存的消耗,提高了性能,适合实时应用的开发,例如股票交易应用,也适合大数据应用的开发。

模块化

Node.js 对 JS 本身的一大影响就是支持了模块化,把处理不同逻辑的代码放到不同的文件中,形成模块,然后在其他文件中可以进行引入并使用,这样就方便的封装和复用。

// math.mjs
export function add(a, b) {
return a + b;
}

export function subtract(a, b) {
return a - b;
}
// app.mjs
import { add, subtract } from './math.mjs';

console.log(add(5, 3)); // 输出: 8
console.log(subtract(10, 4)); // 输出: 6

API

在使用客户端 JavaScript 时,浏览器提供了 Window、Document 等 API 让我们能够操作浏览器窗口和网页等,而 Node.js 也提供了一组 API 让我们更方便的编写服务端应用,例如 File 文件读写,HTTP 服务器,OS 操作系统工具,等等。

示例

要使用 Node.js,我们可以在它的官网下载对应操作系统的安装包,它分为稳定版和最新版,稳定版更新周期稍慢,官方支持周期长,最新版更新周期快能体验新的特性,可以根据自己的需求进行下载。

这里,我们有一个简单的 Node.js HTTP API 使用示例,用于处理一个 GET 请求,并返回响应结果:

  • 代码从 node:http 模块中导入了 createServer 函数来创建服务器。
  • 之后调用 createServer,在里边处理了请求和响应,无论什么请求都返回 200 响应码和 Hello World 文本。
  • 最后调用 createServer 返回的实例中的 listen 方法,来启动服务器并监听本地 3000 端口。
// server.mjs
import { createServer } from 'node:http';

const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!\n');
});

// 启动服务器到本地 3000 端口
server.listen(3000, '127.0.0.1', () => {
console.log('Listening on 127.0.0.1:3000');
});

// 运行 `node server.mjs` 来启动服务器

使用 node server.mjs 运行服务器之后,在浏览器访问 http://localhost:3000就可以看到返回的 Hello World!结果了。

小结

好了,这个就是 Node.js 的介绍,你学会了吗?如果有帮助请三连并关注,想学更多的开发知识,可以在评论区留言,感谢观看!

提示

一系列的课程让你成为高级前端工程师。课程覆盖工作中所有常用的知识点和背后的使用逻辑,示例全部都为工作项目简化而来,学完即可直接上手开发!

即使你已经是高级前端工程师,在课程里也可能会发现新的知识点和技巧,让你的工作更加轻松!

《React 完全指南》课程,包含 React、React Router 和 Redux 详细介绍,所有示例改编自真实工作代码。点击查看详情。

《Vue 3.x 全家桶完全指南与实战》课程,包括 Vue 3.x、TypeScript、Vue Router 4.x、Vuex 4.x 所有初级到高级的语法特性详解,让你完全胜任 Vue 前端开发的工作。点击查看详情。

《React即时通信UI实战》课程,利用 Storybook、Styled-components、React-Spring 打造属于自己的组件库。

《JavaScript 基础语法详解》本人所著图书,包含 JavaScript 全面的语法知识和新特性, 可在京东、当当、淘宝等各大电商购买