首页 > web前端 > js教程 > 正文

NodeJS简介【简单讲解】

Susan Sarandon
发布: 2024-11-22 21:28:24
原创
226 人浏览过

Introduction to NodeJS [Simple Explanation]

什么是 NodeJS?

  • 开源、跨平台的 Javascript 运行时环境。
  • 在 Javascript V8 引擎上运行(这是 Google Chrome 的核心)
  • 单线程并使用异步编程。

如果NodeJS是单线程的,它如何处理多个请求?

想象一下您去一家只有一名厨师的餐厅。你向服务员点意大利面。服务员将订单和其他顾客订单告知厨师。厨师收到您的意大利面订单,但意识到煮意大利面需要时间。它不会等待您的意大利面煮熟,而是将其放在炉子中煮沸,同时开始处理其他订单/

NodeJS 的工作原理类似。
Chef = Node.js 的主线程(Node.js 在其主线程上一次只能做一件事)

Waiter = 事件循环(事件循环接收传入请求并决定如何处理它们)

厨房助手 = 工作线程或操作系统后台进程(Node.js 将工作委托给助手)

例如,在 I/O 操作中,当请求 Web 服务器从文件中获取内容时,NodeJS 只是将工作委托给操作系统的文件系统,并准备好处理后续请求。当文件系统响应时,它会处理该问题。

为什么我应该选择 NodeJS 而不是其他后端应用程序?

  • 整个堆栈使用相同的语言:大多数前端开发都使用 Angular、React、Vue 等 JS 框架。如果后端应用程序用 Javascript 编写,那将是一个巨大的优势。全栈开发者不需要学习新的后端开发语言。

  • 基于微服务的架构的理想选择:NodeJS 的单线程事件循环架构对于 Web 开发人员来说比多线程架构方便得多,因为不存在可用线程被完成的风险处理多个并发请求时。

  • 快速开发:NodeJS 非常轻量级,NodeJS 服务器可以轻松快速启动和运行。

  • NPM: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}/`);
});
登录后复制

这段代码的作用:

  • 使用NodeJS的http模块。
  • 配置主机和端口。
  • 使用http模块的createServer方法创建服务器。
  • 每当收到新请求时,都会调用 request 事件,并提供两个对象:http.IncomingMessage 对象和 http.ServerResponse 对象。
  • 创建的服务器监听主机和端口。

就是这样。现在,运行 node server.js(其中 server.js 是代码文件的名称)将使您的 NodeJS 服务器“启动并运行”。

以上是NodeJS简介【简单讲解】的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板