Node.js入门:Node.js是什么?

209 阅读2分钟

大家好,我是前端理想哥!今天开始,我将为大家带来一系列的 Node.js 学习视频,帮助大家更好地入门 Node.js。话不多说,今天我们先从最基础的问题开始 —— Node.js 到底是什么?

Node.js 到底是什么?

来,先看看官网怎么定义的:

  • Node.js 是一个开源且跨平台的 JavaScript 运行时环境;
  • Node.js 基于 Chrome V8引擎运行JS,性能非常出色
  • Node.js 使用了事件驱动、非阻塞式 I/O 模型。

哇!听起来很厉害对吧?但是看完之后,感觉有点云里雾里,是不是每个字都懂,合起来却让你脑袋发懵?

别着急,理想哥来帮你翻译翻译!

image.png

其实,简单来说,在 Node.js 中写 JavaScript,和在浏览器中写 JavaScript 基本没啥区别。

唯一的区别就是,Node.js 没有浏览器里的那些 API(比如 documentwindow),但它有自己的新增 API!比如用来读写文件、操作网络请求的 API,还有控制服务器的 API。

嗯... 可以这么理解:在浏览器里,你可以用 JavaScript 控制浏览器,而在 Node.js 中,你可以用 JavaScript 控制整个计算机。是不是很酷?

至于官网上提到的那三点,我们后面的视频会深入带大家逐个讲解,今天先简单过。

好了,废话少说,咱们直接上手写一个 Node.js 的经典示范——Hello World!看这个代码:

import { createServer } from 'node:http';

const hostname = '127.0.0.1';
const port = 3000;

const server = createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

这段代码中,我们先引入了一个 Node.js 的核心模块 http,然后用 createServer() 方法创建了一个 HTTP 服务器。我们会监听3000端口和127.0.0.1主机名。

当有请求过来时,我们会先设置设置 res.statusCode = 200 代表响应成功,然后设置Content-Type 返回头,最后,把Hello World 返回参数添加到end()函数中。你会看到当服务器启动后,控制台会打印出它正在监听的地址 http://127.0.0.1:3000/

是不是简单明了?接下来你只需要保存这个文件为 server.mjs,然后在命令行里运行 node server.mjs,一个简洁的 Node.js 服务就搭建完成了!

好啦,这就是我们 Node.js 系列课程的第一课——了解 Node.js 是什么。下节课,我们将深入探讨 Node.js 和浏览器之间到底有啥区别,别走开,精彩继续!

如果你也对 Node.js 感兴趣,记得关注理想哥,我们一起深入探索。