您好,登錄后才能下訂單哦!
這篇文章主要介紹“node.js由什么組成”,在日常操作中,相信很多人在node.js由什么組成問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”node.js由什么組成”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
node的組成有:1、“V8引擎”,是JavaScript解釋器,它負責解析和執行JavaScript代碼;2、“本地模塊”,集成了眾多高性能的開源庫,使用“C/C++”編寫,從底層決定了Node功能的強弱;3、“標準庫”。
本教程操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。
Node.js發布于2009年5月,由Ryan Dahl開發,是一個基于Chrome V8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型,讓JavaScript 運行在服務端的開發平臺,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言。
在 Node.js 之前,JavaScript 只能運行在瀏覽器中,作為網頁腳本使用,為網頁添加一些特效,或者和服務器進行通信。有了 Node.js 以后,JavaScript 就可以脫離瀏覽器,像其它編程語言一樣直接在計算機上使用,想干什么就干什么,再也不受瀏覽器的限制了。
Node.js 的組成
Node.js主要由 V8 引擎、標準庫和本地模塊組成,尤其是本地模塊的多少,從底層決定了 Node.js 功能的強弱。
1) V8 引擎
V8 引擎就是 JavaScript 解釋器,它負責解析和執行 JavaScript 代碼。
V8 引擎借鑒了 Java 虛擬機和 C++ 編譯器的眾多技術,它將 JavaScript 代碼直接編譯成原生機器碼,并且使用了緩存機制來提高性能,這使得 JavaScript 的運行速度可以媲美二進制程序。
2) 本地模塊
Node.js 集成了眾多高性能的開源庫,它們使用 C/C++ 語言實現,比如:
模塊 | 說明 |
---|---|
libuv | 一個跨平臺的、基于事件驅動的異步 I/O 庫。但是 libuv 不僅限于 I/O,它還提供了進程管理、線程池、信號處理、定時器等其它功能。 Linux 中一切皆文件,這里的 I/O 不僅僅包括文件讀寫,還包括數據庫讀寫、網絡通信(socket)等。 |
nmp | Node.js 包管理器,可以下載包、安裝包、卸載包、更新包、上傳包等。 |
http_parser | 一款由C語言編寫的輕量級 HTTP 解析器,用以支持 Web 應用開發。 |
zlib | 工業級的數據壓縮/解壓模塊,Nodejs 借助 zlib 來創建同步、異步或者流式的壓縮/解壓接口。 |
OpenSSL | 該模塊提供了經過嚴密測試的許多加密/解密功能,現代 Web 依賴這些功能來實現安全性,比如 SSL 協議和 https 協議。 |
c-ares | 異步 DNS 查詢和解析庫。 |
Node.js 直接在計算機上運行 JavaScript 代碼,并且要賦予 JavaScript 強大的能力,所以它的本地模塊和瀏覽器中的運行時有很多大區別,甚至說幾乎沒有什么關聯。Node.js 幾乎完全拋棄了瀏覽器,自己從頭構建了一套全新的 JavaScript 運行時。
3) 標準庫
本地模塊使用 C/C++ 編寫,而 Node.js 面向 JavaScript 開發人員,所以必須要封裝本地模塊的 C/C++ 接口,提供一套優雅的 JavaScript 接口給開發人員,并且要保持接口在不同平臺(操作系統)上的一致性。
這套 JavaScript 接口,就是 Node.js 標準庫。標準庫是否優雅和強大,決定了 Node.js 的易用性,直接影響 Node.js 的市場表現。
到此,關于“node.js由什么組成”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。