Node.js 是一个可以运行在服务器端的 JavaScript 运行环境,并且是开源和跨平台的。我们在网页中使用的 JavaScript 是浏览器提供的运行环境,是运行在客户端,也就是用户的电脑上的。
Node.js 则把 Chrome 的 V8 JS 引擎独立了出来,脱离了浏览器,这样就可以使用 JavaScript 开发服务端应用了。
因为 Node.js 同样使用 JavaScript 语言,那么我们可以只学习一种语言,就可以开发多端应用,变成全栈工程师,减少了学习成本。
在 stackoverflow 2024 年的开发者调查中显示,Node.js 是最热门的服务端开发技术:
而 JavaScript 则是适用人数最多的语言:
并且 Node.js Foundation 报告世界 500 强中有 98% 都或多或少的使用了 Node.js。
Node.js 是由 Ryan Dahl 开发的,于 2009 年发布。开发 Node.js 目的是为了解决 Apache 这个热门服务器在处理大量并发连接时的性能,同时减少资源消耗。
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
在使用客户端 JavaScript 时,浏览器提供了 Window、Document 等 API 让我们能够操作浏览器窗口和网页等,而 Node.js 也提供了一组 API 让我们更方便的编写服务端应用,例如 File 文件读写,HTTP 服务器,OS 操作系统工具,等等。
要使用 Node.js,我们可以在它的官网下载对应操作系统的安装包,它分为稳定版和最新版,稳定版更新周期稍慢,官方支持周期长,最新版更新周期快能体验新的特性,可以根据自己的需求进行下载。
这里,我们有一个简单的 Node.js HTTP API 使用示例,用于处理一个 GET 请求,并返回响应结果:
// 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 的介绍,你学会了吗?如果有帮助请三连并关注,想学更多的开发知识,可以在评论区留言,感谢观看!