服务器之家:专注于服务器技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - node.js - 搞懂什么是Node.js原来这么简单

搞懂什么是Node.js原来这么简单

2022-03-10 16:12「已注销」 node.js

这篇文章主要介绍了Node.js的概念和基本原理,对Node.js感兴趣的同学,一定要看一下

Node.js 的官方介绍

在 Node.js 的官方网站的首页中,有这样一句话来描述 Node.js:

Node.js® is a JavaScript runtime built on Chrome"s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

翻译过来的意思就是:

Node.js 是基于 Chrome 的 V8 JavaScript 引擎的 JavaScript 运行时。Node.js 采用事件驱动、非堵塞 I/O 模型,使其轻量化和高效。

上面这句话的第一句说明了什么是 Node.js,第二句说明了 Node.js 的特点。

想要搞懂官方这句话的具体含义,我们还要从 JavaScript 语言说起。

Node.js 的核心开发语言

这里假设你已经掌握了 JavaScript 语言的基础语法以及基本使用。如果还没有掌握 JavaScript 的话,还是先去入门一下 JavaScript 语言吧。

掌握了 JavaScript 语言的应该知道,JavaScript 语言是作为浏览器的脚本语言,可以实现网页与用户之间的交互。

什么是交互?比如用户在网页中输入用户名或密码,这种用户输入行为就可以叫做交互。或者用户点击网页中的按钮等等,都可以叫做交互。

JavaScript 语言之所以可以实现网页与用户之间的交互,主要是依靠事件来完成的。比如,用户的输入事件、点击按钮事件等等。

下面我们通过用户点击按钮的行为为例,来看看 JavaScript 语言是如何处理的。

搞懂什么是Node.js原来这么简单

通过上面的分析图,我们可以清晰的看到:

  1. 用户点击网页的按钮,执行 JavaScript 逻辑。
  2. JavaScript 逻辑经历三个阶段,分别是捕获事件、触发事件和事件冒泡。
  3. 当 JavaScript 逻辑执行完毕后,会将结果返回网页。
  4. 网页再根据结果显示给用户。

通过这样的一个小案例,我们可以知道 JavaScript 语言处理网页与用户之间的交互,主要是依靠事件驱动。

网页与 Node.js 中 JavaScript 的区别

目前几乎所有的浏览器都支持 JavaScript 语言,之所以支持的原因在于浏览器中都集成了 JavaScript 引擎。

在众多浏览器中,Chrome 浏览器的性能相对更好,而且 Chrome 浏览器集成的 V8 JavaScript 引擎还是开源的。

而 Node.js 就是利用了 Chrome 浏览器的开源 V8 JavaScript 引擎。那在网页中使用 JavaScript 语言和在 Node.js 中使用 JavaScript 语言有什么不同呢?我们可以通过下面这张图来了解一下。

搞懂什么是Node.js原来这么简单

通过上图可以清晰地看到,Node.js 相对于浏览器 Node.js 没有提供 WebKit 内核和 HTML 相关的 UI 技术。也就是说,Node.js 只提供了 JavaScript 语言。

为什么要这样呢?其实,Node.js 的作者最初的想法就是想设计一个轻量和高效的服务器。

什么是服务器

那服务器又是什么呢?如果把一个 WEB 应用比作是一个人的话,那服务器就是人的大脑。

搞懂什么是Node.js原来这么简单

通过上面的图我们可以知道,人与人交流时,基本上要通过以下几个步骤:

  1. 别人与我交流,我是通过人的感官进行接收。
  2. 感官将信息传递给大脑。
  3. 大脑接收到信息后,进行处理,将处理的结果返回。
  4. 再通过感官反馈给与我交流的人。

通过这个过程,我们可以发现,别人是直接通过感官与我交流的,并不知道大脑是如何工作的,也并不关心大脑是如何工作的。

搞懂什么是Node.js原来这么简单

而 WEB 应用与人类似,用户是与网页进行交互,网页将信息传递给服务器,服务器接收、处理并响应,最后网页将结果显示给用户。

作为用户来说,并不关心服务器是如何工作的,甚至用户都感觉不到服务器的存在。但是,作为开发人员,想要开发一个完整的 WEB 应用,服务器的逻辑核心。

从现在开始,我们要从用户思维转变成开发思维。通过开发思维重新审视我们曾经使用过的 WEB 应用,你会发现有所不同。

思维的转变是很重要的!很重要的!很重要的!重要的事儿说三遍。

Node.js 的简单理解

讲到这里,我们可以简单地来归纳一下 Node.js 到底是什么了。

Node.js 就是基于 Chrome 浏览器的 V8 JavaScript 引擎,以 JavaScript 语言为核心开发语言的服务器技术。

如果使用 Node.js 开发一个 WEB 应用应该是怎么样的呢?

搞懂什么是Node.js原来这么简单

由于 JavaScript 逻辑是依靠事件驱动的,所以就不难理解 Node.js 是事件驱动的了。

想要更好地理解和掌握 Node.js,还是先回去恶补一下 JavaScript 语言中的事件处理那些内容吧!

Node.js 除了是基于 Chrome 浏览器的 V8 引擎以外,还提供了一系列的模块,让我们可以方便地实现一些功能。比如,处理客户端的请求、文件的处理等操作。

搞懂什么是Node.js原来这么简单

我们学习 Node.js,主要就是学习 Node.js 所提供的模块内容。

以上就是搞懂什么是Node.js原来这么简单的详细内容,更多关于Node.js的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/longestory/article/details/108742411

延伸 · 阅读

精彩推荐
  • node.jsNode.js 中如何收集和解析命令行参数

    Node.js 中如何收集和解析命令行参数

    这篇文章主要介绍了Node.js 中如何收集和解析命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    descire8132021-12-28
  • node.js使用 Node-Config 在 Node.Js 中创建配置文件

    使用 Node-Config 在 Node.Js 中创建配置文件

    Node-config允许你在你的Node应用程序中为不同的部署环境创建配置文件。有了它,你可以定义一个你打算跨环境重复使用的默认配置文件,然后将默认配置扩...

    前端全栈开发者11752022-01-12
  • node.jsrequire加载器实现原理的深入理解

    require加载器实现原理的深入理解

    这篇文章主要给大家介绍了关于require加载器实现原理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    隐冬8062022-03-03
  • node.js解决await在forEach中不起作用的问题

    解决await在forEach中不起作用的问题

    这篇文章主要介绍了解决await在forEach中不起作用的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    文文文文文哥11052022-01-24
  • node.jsnode.js 全局变量的具体使用

    node.js 全局变量的具体使用

    这篇文章主要介绍了node.js 全局变量的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    流楚丶格念9832022-03-02
  • node.jsNode.js中的异步生成器与异步迭代详解

    Node.js中的异步生成器与异步迭代详解

    这篇文章主要给大家介绍了关于Node.js中异步生成器与异步迭代的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习...

    疯狂的技术宅3812022-01-12
  • node.jsNest.js参数校验和自定义返回数据格式详解

    Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    Jaxson Wang10662022-02-21
  • node.jsNodejs 数组的队列以及forEach的应用详解

    Nodejs 数组的队列以及forEach的应用详解

    这篇文章主要介绍了Nodejs 数组的队列以及forEach的应用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    WificamSDK711042022-01-24