国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

搞懂什么是Node.js原來這么簡(jiǎn)單

瀏覽:68日期:2024-05-25 18:55:48
Node.js 的官方介紹

在 Node.js 的官方網(wǎng)站的首頁中,有這樣一句話來描述 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 運(yùn)行時(shí)。Node.js 采用事件驅(qū)動(dòng)、非堵塞 I/O 模型,使其輕量化和高效。

上面這句話的第一句說明了什么是 Node.js,第二句說明了 Node.js 的特點(diǎn)。

想要搞懂官方這句話的具體含義,我們還要從 JavaScript 語言說起。

Node.js 的核心開發(fā)語言

這里假設(shè)你已經(jīng)掌握了 JavaScript 語言的基礎(chǔ)語法以及基本使用。如果還沒有掌握 JavaScript 的話,還是先去入門一下 JavaScript 語言吧。

掌握了 JavaScript 語言的應(yīng)該知道,JavaScript 語言是作為瀏覽器的腳本語言,可以實(shí)現(xiàn)網(wǎng)頁與用戶之間的交互。

什么是交互?比如用戶在網(wǎng)頁中輸入用戶名或密碼,這種用戶輸入行為就可以叫做交互。或者用戶點(diǎn)擊網(wǎng)頁中的按鈕等等,都可以叫做交互。

JavaScript 語言之所以可以實(shí)現(xiàn)網(wǎng)頁與用戶之間的交互,主要是依靠事件來完成的。比如,用戶的輸入事件、點(diǎn)擊按鈕事件等等。

下面我們通過用戶點(diǎn)擊按鈕的行為為例,來看看 JavaScript 語言是如何處理的。

搞懂什么是Node.js原來這么簡(jiǎn)單

通過上面的分析圖,我們可以清晰的看到:

用戶點(diǎn)擊網(wǎng)頁的按鈕,執(zhí)行 JavaScript 邏輯。 JavaScript 邏輯經(jīng)歷三個(gè)階段,分別是捕獲事件、觸發(fā)事件和事件冒泡。 當(dāng) JavaScript 邏輯執(zhí)行完畢后,會(huì)將結(jié)果返回網(wǎng)頁。 網(wǎng)頁再根據(jù)結(jié)果顯示給用戶。

通過這樣的一個(gè)小案例,我們可以知道 JavaScript 語言處理網(wǎng)頁與用戶之間的交互,主要是依靠事件驅(qū)動(dòng)。

網(wǎng)頁與 Node.js 中 JavaScript 的區(qū)別

目前幾乎所有的瀏覽器都支持 JavaScript 語言,之所以支持的原因在于瀏覽器中都集成了 JavaScript 引擎。

在眾多瀏覽器中,Chrome 瀏覽器的性能相對(duì)更好,而且 Chrome 瀏覽器集成的 V8 JavaScript 引擎還是開源的。

而 Node.js 就是利用了 Chrome 瀏覽器的開源 V8 JavaScript 引擎。那在網(wǎng)頁中使用 JavaScript 語言和在 Node.js 中使用 JavaScript 語言有什么不同呢?我們可以通過下面這張圖來了解一下。

搞懂什么是Node.js原來這么簡(jiǎn)單

通過上圖可以清晰地看到,Node.js 相對(duì)于瀏覽器 Node.js 沒有提供 WebKit 內(nèi)核和 HTML 相關(guān)的 UI 技術(shù)。也就是說,Node.js 只提供了 JavaScript 語言。

為什么要這樣呢?其實(shí),Node.js 的作者最初的想法就是想設(shè)計(jì)一個(gè)輕量和高效的服務(wù)器。

什么是服務(wù)器

那服務(wù)器又是什么呢?如果把一個(gè) WEB 應(yīng)用比作是一個(gè)人的話,那服務(wù)器就是人的大腦。

搞懂什么是Node.js原來這么簡(jiǎn)單

通過上面的圖我們可以知道,人與人交流時(shí),基本上要通過以下幾個(gè)步驟:

別人與我交流,我是通過人的感官進(jìn)行接收。 感官將信息傳遞給大腦。 大腦接收到信息后,進(jìn)行處理,將處理的結(jié)果返回。 再通過感官反饋給與我交流的人。

通過這個(gè)過程,我們可以發(fā)現(xiàn),別人是直接通過感官與我交流的,并不知道大腦是如何工作的,也并不關(guān)心大腦是如何工作的。

搞懂什么是Node.js原來這么簡(jiǎn)單

而 WEB 應(yīng)用與人類似,用戶是與網(wǎng)頁進(jìn)行交互,網(wǎng)頁將信息傳遞給服務(wù)器,服務(wù)器接收、處理并響應(yīng),最后網(wǎng)頁將結(jié)果顯示給用戶。

作為用戶來說,并不關(guān)心服務(wù)器是如何工作的,甚至用戶都感覺不到服務(wù)器的存在。但是,作為開發(fā)人員,想要開發(fā)一個(gè)完整的 WEB 應(yīng)用,服務(wù)器的邏輯核心。

從現(xiàn)在開始,我們要從用戶思維轉(zhuǎn)變成開發(fā)思維。通過開發(fā)思維重新審視我們?cè)?jīng)使用過的 WEB 應(yīng)用,你會(huì)發(fā)現(xiàn)有所不同。

思維的轉(zhuǎn)變是很重要的!很重要的!很重要的!重要的事兒說三遍。

Node.js 的簡(jiǎn)單理解

講到這里,我們可以簡(jiǎn)單地來歸納一下 Node.js 到底是什么了。

Node.js 就是基于 Chrome 瀏覽器的 V8 JavaScript 引擎,以 JavaScript 語言為核心開發(fā)語言的服務(wù)器技術(shù)。

如果使用 Node.js 開發(fā)一個(gè) WEB 應(yīng)用應(yīng)該是怎么樣的呢?

搞懂什么是Node.js原來這么簡(jiǎn)單

由于 JavaScript 邏輯是依靠事件驅(qū)動(dòng)的,所以就不難理解 Node.js 是事件驅(qū)動(dòng)的了。

想要更好地理解和掌握 Node.js,還是先回去惡補(bǔ)一下 JavaScript 語言中的事件處理那些內(nèi)容吧!

Node.js 除了是基于 Chrome 瀏覽器的 V8 引擎以外,還提供了一系列的模塊,讓我們可以方便地實(shí)現(xiàn)一些功能。比如,處理客戶端的請(qǐng)求、文件的處理等操作。

搞懂什么是Node.js原來這么簡(jiǎn)單

我們學(xué)習(xí) Node.js,主要就是學(xué)習(xí) Node.js 所提供的模塊內(nèi)容。

以上就是搞懂什么是Node.js原來這么簡(jiǎn)單的詳細(xì)內(nèi)容,更多關(guān)于Node.js的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 一级风流片a级国产 | 欧美日韩另类在线观看视频 | 亚洲天堂在线观看视频 | 久久久久久极精品久久久 | 国产欧美日韩在线视频 | 黄色网网址 | 91久久精品国产91性色tv | 怡红院视频在线 | 精品一区二区三区五区六区 | 国产日韩欧美综合一区二区三区 | 欧美精品一区二区在线观看播放 | 99re久久资源最新地址 | 色伊人国产高清在线 | 亚洲小视频在线 | 日韩欧美国产视频 | 亚洲欧美综合国产精品一区 | 毛片搜索 | 成人在线免费观看视频 | 亚洲香蕉久久一区二区三区四区 | 日本免费人成在线网站 | 亚洲国产精品第一区二区 | 亚洲免费小视频 | 亚洲高清在线播放 | 香港经典a毛片免费观看爽爽影院 | 欧美一级毛片欧美大尺度一级毛片 | 牛人国产偷窥女洗浴在线观看 | 日韩亚洲精品不卡在线 | 国产精品成人免费视频不卡 | 成年男女免费视频网站 | 久久久久999| 5级做人爱c视版免费视频 | 欧美大胆a | 午夜手机看片 | 亚洲视频在线免费 | 成人影院人人免费 | 欧美日韩高清性色生活片 | 岛国大片在线播放免费 | 黄影| 亚洲综合色一区二区三区另类 | 国产亚洲欧美一区二区三区 | a黄毛片 |