Node.js 简介
https://nodejs.org/en/learn/getting-started/introduction-to-nodejs
Node.js 是开源的, 跨平台的 js 运行时环境. 她是很受欢迎的工具, 她几乎可以完成任何类型的项目.
Node.js 使用 JavaScript V8 引擎. V8 引擎是谷歌浏览器的内核, 它可以脱离浏览器使用. 她能提升 JavaScript 性能.
一个 Node.js 运行于单个进程中, 每一个请求也不会创建新的线程. Node.js 提供了一套原生的异步 I/O 接口, 这些接口通过标准库来提供. 这些标准库是非阻塞的.
当 Node.js 执行 I/O 操作时, 例如从网络接收数据, 访问文件系统或数据库, Node.js 不会阻塞, 而待响应返回时立即恢复执行.
这使得 Node.js 可以在单线程中处理大量并发行为.
Node.js 还有一个优势, 就是前后通用, 一门语言.
Node.js 不会依赖浏览器对标准的实现, 新的语言规范都可以在 Node.js 中使用, 只用切换不同版本即可.
Node.js 应用的一个示例
在 web 服务器上的 Hello World 示例:
// mjs
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://${ host }:${ port }/`);
});
然后对代码进行了解释. 这里仅仅需要补充的是:
- 请求来到时, 会触发
request
事件, 会提供两个对象http.IncomingMessage
和http.ServerResponse
, 分别表示请求对象, 和响应对象. - 更多详细的案例可以参考: https://github.com/nodejs/examples