首頁  >  文章  >  web前端  >  nodejs是伺服器嗎

nodejs是伺服器嗎

藏色散人
藏色散人原創
2021-10-28 15:16:392968瀏覽

nodejs不是伺服器,而是基於Chrome V8引擎的JavaScript運作環境;nodejs使用了一個事件驅動、非阻塞式I/O模型,讓JavaScript運行在服務端的開發平台。

nodejs是伺服器嗎

本文操作環境:Windows7系統、nodejs10.16.2版、DELL G3電腦

nodejs是一個伺服器嗎?

nodejs不是一個伺服器。

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運作環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又有效率。 Node.js 的套件管理器 npm,是全球最大的開源程式庫生態系統。

Node.js發佈於2009年5月,由Ryan Dahl開發,是一個基於Chrome V8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型,讓JavaScript 運行在服務端的開發平台,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言。

Node.js對一些特殊用例進行最佳化,提供替代的API,讓V8在非瀏覽器環境下運作得更好,V8引擎執行Javascript的速度非常快,效能非常好,基於Chrome JavaScript運行時建立的平台, 用於方便地建立響應速度快、易於擴展的網路應用。

主要功能

V8引擎本身使用了一些最新的編譯技術。這使得用Javascript這類腳本語言編寫出來的程式碼運行速度獲得了極大提升,並節省了開發成本。對效能的苛求是Node的一個關鍵因素。 Javascript是事件驅動語言,Node利用了這個優點,寫出可擴展性高的伺服器。 Node採用了一個稱為「事件循環(event loop)」的架構,使得編寫可擴展性高的伺服器變得既容易又安全。提高伺服器效能的技巧有多種多樣。 Node選擇了一個既能提高效能,又能降低開發複雜度的架構。這是一個非常重要的特性。並發編程通常很複雜且佈滿地雷。 Node繞過了這些,但仍提供很好的效能。

Node採用一系列「非阻塞」函式庫來支援事件循環的方式。本質上就是為檔案系統、資料庫之類的資源提供介面。向檔案系統發送請求時,無需等待硬碟(尋址並檢索檔案),硬碟準備好的時候非阻塞介面會通知Node。該模型以可擴展的方式簡化了對慢資源的訪問, 直觀,易懂。尤其是對於熟悉onmouseover、onclick等DOM事件的用戶,更有一種似曾相識的感覺。

雖然讓Javascript運行於伺服器端不是Node的獨特之處,但卻是其一強大功能。不得不承認,瀏覽器環境限制了我們選擇程式語言的自由。任何伺服器與日益複雜的瀏覽器客戶端應用程式間共享程式碼的願望只能透過Javascript來實現。雖然還有其他一些支援Javascript在伺服器端 運作的平台,但因為上述特性,Node發展迅猛,成為事實上的平台。

在Node啟動的很短時間內,社群就已經貢獻了大量的擴充庫(模組)。其中很多是連接資料庫或是其他軟體的驅動,但還有很多是憑他們的實力製作出來的非常有用的軟體。

最後,不得不提的是Node社群。雖然No​​de計畫還非常年輕,但很少看到對一個計畫如此狂熱的社群。不管是新手,還是專家,大家都圍繞著項目,運用並貢獻自己的能力,致力於打造一個探索、支持、分享、聽取建議的樂土。

推薦學習:《node.js影片教學

以上是nodejs是伺服器嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn