NodeJS 简介[简单讲解]
什么是 NodeJS?
如果 NodeJS 是单线程的,它如何处理多个请求?
想象一下,你去一家只有一名厨师的餐厅。你从服务员那里点了意大利面。服务员将订单和其他顾客的订单告知厨师。厨师收到了你的意大利面订单,但意识到煮意大利面需要时间。他没有等待你的意大利面煮熟,而是把它放在炉子里煮,同时开始处理其他订单/
NodeJS 的工作原理类似。
**Chef** = Node.js 的主线程(Node.js 在主线程上一次只能做一件事)
**Waiter** = 事件循环(事件循环接收传入的请求并决定如何处理它们)
**厨房帮手** = 工作线程或 OS 后台进程(Node.js 将工作委托给帮手)
例如,在 I/O 操作中,当请求 Web 服务器从文件中提取内容时,NodeJS 只是将工作委托给操作系统的文件系统,并准备处理后续请求。当文件系统响应时,它会处理该请求。
为什么我应该选择 NodeJS 而不是其他后端应用程序?
“几乎不用费什么力气,NodeJS 服务器就能快速启动并运行”——就这么简单吗?
是的。
const { createServer } = require('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 server.js`(其中 `server.js` 是代码文件的名称)将使您的 NodeJS 服务器“启动并运行”。