karen

Node.js简介 (第一部分)

前提:

欢迎来到web后端开发的世界。 在深入探讨该主题之前,让我们回顾一下先决条件。 一个网站有两部分,“前端”和“后端”。 网站的前端通常是指用户与网站交互的一端,是网站的用户界面(U.I.)。简单来说,它包含所有在计算机网页中加载的我们能看到并与之交互的元素。 有时也被称为网页的“客户端”。 后端开发则是指服务器端开发,它涉及所有在网页屏幕之外即在后台发生的活动。

屏幕后到底发生了什么?网站的后端由服务器,应用程序和数据库组成,主要侧重于数据库,脚本和网站的体系结构。当我们在浏览器中键入URL时,将发送请求到DNS服务器。 DNS解析URL的IP,并将其发送给浏览器,以便浏览器可以请求该网站的主机。在某种程度上,我们可以将服务器视为网络的心脏。 数据库负责存储数据,并是数据呈现到客户端的来源。这很像网络的大脑。 数据库服务器是一种根据客户端模型定义并为计算机和其他计算机程序提供数据库服务的服务器。同样,应用程序服务器是一个软件框架,它既提供创建Web应用程序的功能,又提供运行这些应用程序的服务器环境。必须记住,数据库和数据库服务器不是一回事。同样,应用程序和应用程序服务器也不同。

介绍:

现在,我们进入主题。 根据Node.js官方文档, Node.js是基于Chrome的V8 JavaScript引擎构建的JavaScript。在搞混此处使用的术语之前,让我来分块解释一下官方定义。 当我们运行JavaScript代码或使用任何JavaScript框架时,代码都会在浏览器中执行。 因此,在这种情况下,我们的浏览器是JavaScript运行环境。 借助JavaScript解析器,将JavaScript(JS)代码转换为机器代码。对于 Google Chrome,它是V8,对于Firefox,它是SpiderMonkey ,对于 Microsoft Edge 它是Chakra。 Node.js需依赖于一些库才能正常工作。

其中最重要的是:Chrome's V8 和 LIBUV

如果没有V8,那么Node.js将无法理解我们在Node.js环境中编写的JS代码。 LIBUV是一个开源库,主要关注异步I / O。 它可以访问操作系统,文件系统,网络等。也负责Node的2个主要功能。

1. 事件循环。

2. 线程池。

除了这些, Node.js 也依赖于:

1. 用于解析http的http-parser。

2. 用于DNS请求的c-ares。

3. 用于加密的OpenSSL。

4. 进行压缩的 zlib。

我们将在接下来的帖子中讨论以上所有要点。 但是,让我们首先关注基本内容。 简而言之, Node.js使开发人员可以使用JavaScript编写命令行工具,并允许在服务器端运行的脚本在服务器端生成动态网页内容,然后再将其发送到用户的Web浏览器。

Node.js的特点:

1. 快速,高效和高扩展性。

2. 事件驱动的非阻塞I / O模型。

3. 本质上是异步的。

4. 单线程。

5. 它是开源的。

6. 在网站的两端仅使用一种语言。

希望您喜欢Node.js简介(第1部分)。 要了解更多信息,请关注下一个博客 Node.js简介(第二部分)