激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - JavaScript - node.js - 搞懂什么是Node.js原來這么簡單

搞懂什么是Node.js原來這么簡單

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

這篇文章主要介紹了Node.js的概念和基本原理,對Node.js感興趣的同學(xué),一定要看一下

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 運行時。Node.js 采用事件驅(qū)動、非堵塞 I/O 模型,使其輕量化和高效。

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

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

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

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

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

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

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

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

搞懂什么是Node.js原來這么簡單

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

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

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

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

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

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

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

搞懂什么是Node.js原來這么簡單

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

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

什么是服務(wù)器

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

搞懂什么是Node.js原來這么簡單

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

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

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

搞懂什么是Node.js原來這么簡單

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

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

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

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

Node.js 的簡單理解

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

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

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

搞懂什么是Node.js原來這么簡單

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

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

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

搞懂什么是Node.js原來這么簡單

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

以上就是搞懂什么是Node.js原來這么簡單的詳細(xì)內(nèi)容,更多關(guān)于Node.js的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

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

延伸 · 閱讀

精彩推薦
  • node.jsNode.js ObjectWrap 的弱引用問題

    Node.js ObjectWrap 的弱引用問題

    最近在寫 Node.js Addon 的過程中,遇到了一個問題,然后發(fā)現(xiàn)是 ObjectWrap 弱引用導(dǎo)致的,本文介紹一下具體的問題和排查過程,以及 ObjectWrap 的使用問題。...

    編程雜技9852022-01-04
  • node.js在瀏覽器中,把 Vite 跑起來了!

    在瀏覽器中,把 Vite 跑起來了!

    大家好,我是 ssh,前幾天在推上沖浪的時候,看到 Francois Valdy 宣布他制作了 browser-vite[1],成功把 Vite 成功在瀏覽器中運行起來了。這引起了我的興趣,如...

    前端從進階到入院9282022-01-11
  • node.jsk8s node節(jié)點重新加入master集群的實現(xiàn)

    k8s node節(jié)點重新加入master集群的實現(xiàn)

    這篇文章主要介紹了k8s node節(jié)點重新加入master集群的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋...

    Scarborought13922022-01-22
  • node.jsnodejs中使用worker_threads來創(chuàng)建新的線程的方法

    nodejs中使用worker_threads來創(chuàng)建新的線程的方法

    這篇文章主要介紹了nodejs中使用worker_threads來創(chuàng)建新的線程的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友...

    flydean程序那些事8982022-01-06
  • node.jsNode.js 中如何收集和解析命令行參數(shù)

    Node.js 中如何收集和解析命令行參數(shù)

    這篇文章主要介紹了Node.js 中如何收集和解析命令行參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋...

    descire8802021-12-28
  • node.jslinux服務(wù)器快速卸載安裝node環(huán)境(簡單上手)

    linux服務(wù)器快速卸載安裝node環(huán)境(簡單上手)

    這篇文章主要介紹了linux服務(wù)器快速卸載安裝node環(huán)境(簡單上手),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需...

    mose-x8462022-01-22
  • node.jsrequire加載器實現(xiàn)原理的深入理解

    require加載器實現(xiàn)原理的深入理解

    這篇文章主要給大家介紹了關(guān)于require加載器實現(xiàn)原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需...

    隱冬8462022-03-03
  • node.js詳解node.js創(chuàng)建一個web服務(wù)器(Server)的詳細(xì)步驟

    詳解node.js創(chuàng)建一個web服務(wù)器(Server)的詳細(xì)步驟

    這篇文章主要介紹了詳解node.js創(chuàng)建一個web服務(wù)器(Server)的詳細(xì)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,...

    王佳斌8952021-12-31
主站蜘蛛池模板: 亚洲国产精品久久久久婷婷老年 | 欧洲精品视频在线观看 | 日韩视频在线观看免费视频 | 亚洲午夜在线 | 午夜男人在线观看 | 本色视频aaaaaa一级网站 | 黄污视频在线看 | 孕妇体内谢精满日本电影 | 亚洲成人久久精品 | 最近免费观看高清韩国日本大全 | 三级国产三级在线 | av电影免费在线 | 9999久久| 亚洲婷婷日日综合婷婷噜噜噜 | 日韩视频在线不卡 | xvideos korean| 成人免费av在线播放 | 99爱精品在线| 草久影视 | 久久免费激情视频 | 日韩毛片在线看 | 亚洲成人精品一区二区 | 欧美性久久久 | 一级片999 | 中文字幕在线视频日本 | 欧美成在人线a免费 | 午夜小视频免费观看 | 精彩视频一区 | 欧美视频首页 | 久久色播 | 成人综合一区二区 | 成人不卡在线观看 | 亚洲人成网站免费播放 | xvideos korean | 亚洲国产精品久久久久婷婷老年 | 福利在线小视频 | 天天草夜夜骑 | 国产精品区一区二区三区 | 国内精品伊人久久 | 久啪视频 | 亚洲第一成人在线 |