摘要:是一個(gè)針對網(wǎng)絡(luò)應(yīng)用開發(fā)的平臺它基于的運(yùn)行時(shí)引擎但它不僅僅只是的標(biāo)準(zhǔn)類庫是它非常重要的一部分它涵蓋了從服務(wù)端到同步或者異步的文件管理已經(jīng)迅速成為一個(gè)可行并且真正高效的開發(fā)平臺在誕生之前在服務(wù)端運(yùn)行是件不可思議的事情并且對其他腳本語言來說要實(shí)現(xiàn)
Node是一個(gè)針對網(wǎng)絡(luò)應(yīng)用開發(fā)的平臺,它基于Google的JavaScript運(yùn)行時(shí)引擎V8,但它不僅僅只是V8.
Node的標(biāo)準(zhǔn)類庫是它非常重要的一部分,它涵蓋了從TCP服務(wù)端到同步或者異步的文件管理.
Node已經(jīng)迅速成為一個(gè)可行并且真正高效的web開發(fā)平臺.
在Node誕生之前,在服務(wù)端運(yùn)行JavaScript是件不可思議的事情,并且對其他腳本語言來說,要實(shí)現(xiàn)非阻塞I/O通常需要依賴特殊的類庫.
JavaScript與非阻塞I/O的組合極為強(qiáng)大:在JavaScript與生俱來的callback特性下,我們能在同一進(jìn)程中異步地操作文件讀寫,網(wǎng)絡(luò)sockets以及其他的I/O操作.
為什么使用Node假設(shè)你正在開發(fā)一個(gè)廣告服務(wù)器,每分鐘需要發(fā)布幾百萬條的廣告.
Node的非阻塞I/O將是一個(gè)高效的解決方案,因?yàn)榉?wù)器能夠最大限度的利用到所有的I/O資源,并且不需要開發(fā)者寫特殊的底層代碼.
Node把非阻塞I/O作為提高某些類型應(yīng)用性能的方式.
JavaScript傳統(tǒng)的事件機(jī)制意味著在異步編程中,它有著相對方便以及容易理解的語法.
在傳統(tǒng)的編程語言中,I/O操作將阻塞進(jìn)程直到它完成為止.
Node的異步文件讀寫以及網(wǎng)絡(luò)API意味著在這些相對較慢的I/O操作處理的時(shí)候,主進(jìn)程仍然能處理其他請求
Node的主要特性是它的標(biāo)準(zhǔn)類庫,模塊系統(tǒng)以及npm(包管理系統(tǒng)),當(dāng)然還有許多其他的.
實(shí)際上Node最強(qiáng)大的特性是它的標(biāo)準(zhǔn)類庫,它主要由二進(jìn)制類庫以及核心模塊兩部分組成,二進(jìn)制類庫包括libv,它為網(wǎng)絡(luò)以及文件系統(tǒng)提供了快速的事件輪循以及非阻塞的I/O.同時(shí)它還有http類庫,所以你可以很快確定你的http客戶端和服務(wù)端.
Node的核心模塊主要由JavaScript編寫,有不清楚的地方,可以直接閱讀源碼.
Node環(huán)境中的關(guān)鍵部分如下圖:
每個(gè)Node開發(fā)者都會接觸到EventEmitter接口,它是大多數(shù)Node核心模塊的基礎(chǔ),Stream,網(wǎng)絡(luò),文件系統(tǒng)全部繼承于它.
高可拓展性I/O的基礎(chǔ)Streams繼承于EventEmitters,能被用來在不可預(yù)測的輸入下創(chuàng)建數(shù)據(jù),比如網(wǎng)絡(luò)連接,數(shù)據(jù)傳輸速度取決于其他用戶在干什么.
FS:處理文件Node的文件模塊不但可以通過非阻塞的I/O讀寫文件,而且它也有同步的方法.你可以通過fs.stat異步獲取文件的信息,也可以通過fs.statSync同步讀取.
網(wǎng)絡(luò):創(chuàng)建網(wǎng)絡(luò)客戶端和服務(wù)端網(wǎng)絡(luò)模塊是http模塊的基礎(chǔ),也可以用來創(chuàng)建通用的網(wǎng)絡(luò)客戶端與服務(wù)端.
全局對象與其他模塊比如process對象,它讓你可以把數(shù)據(jù)傳入或者傳出標(biāo)準(zhǔn)I/O流(stdout,stdin).
還有無處不在的console對象.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84032.html
摘要:本文主要講解的入門。可以幫助我們管理包的下載依賴部署發(fā)布等??梢哉J(rèn)為是中的。后續(xù)使用中,全部替換為即可。命令根據(jù)它,自動下載所需模塊用于創(chuàng)建窗口和處理系統(tǒng)事件安裝包的位置。 Electron是什么 可以認(rèn)為Electron是一種運(yùn)行環(huán)境庫,我們可以基于此,用HTML、JS和CSS寫桌面應(yīng)用。PC端的UI交互,主要有web應(yīng)用和桌面應(yīng)用。具體采用哪種方式,主要看系統(tǒng)的應(yīng)用場景,哪個(gè)更合適...
摘要:本身也是運(yùn)行在環(huán)境中的模塊,它通常會返回一個(gè)函數(shù)。這個(gè)命名規(guī)則和搜索優(yōu)先級順序在的中定義。那就等下一篇介紹吧,一篇文章有太多內(nèi)容,會讓人很乏的從入門到放棄四從入門到放棄二從入門到放棄三源代碼 此篇文章僅僅是整理自己接觸webpack的入門過程,可能有很多不正確的地方,希望大家諒解,并指出錯誤幫助改進(jìn)。 對于webpack的介紹和前期對他的入門使用,我覺得官方(中文網(wǎng))已經(jīng)介紹的很簡單了...
摘要:的官方下載地址點(diǎn)我進(jìn)入的官方下載地址下載電腦系統(tǒng)對應(yīng)文件,然后進(jìn)行安裝,安裝成功之后通過命令行工具進(jìn)入安裝目錄。注系統(tǒng)命令行工具通過開始菜單輸入打開,系統(tǒng)為終端。 showImg(https://segmentfault.com/img/bVPL6q?w=200&h=200); Vue — 漸進(jìn)式 JavaScript 框架 介紹 Vue.js 是什么 vue.js 是一套構(gòu)建用戶界面...
摘要:的官方下載地址點(diǎn)我進(jìn)入的官方下載地址下載電腦系統(tǒng)對應(yīng)文件,然后進(jìn)行安裝,安裝成功之后通過命令行工具進(jìn)入安裝目錄。注系統(tǒng)命令行工具通過開始菜單輸入打開,系統(tǒng)為終端。 showImg(https://segmentfault.com/img/bVPL6q?w=200&h=200); Vue — 漸進(jìn)式 JavaScript 框架 介紹 Vue.js 是什么 vue.js 是一套構(gòu)建用戶界面...
摘要:的官方下載地址點(diǎn)我進(jìn)入的官方下載地址下載電腦系統(tǒng)對應(yīng)文件,然后進(jìn)行安裝,安裝成功之后通過命令行工具進(jìn)入安裝目錄。注系統(tǒng)命令行工具通過開始菜單輸入打開,系統(tǒng)為終端。 showImg(https://segmentfault.com/img/bVPL6q?w=200&h=200); Vue — 漸進(jìn)式 JavaScript 框架 介紹 Vue.js 是什么 vue.js 是一套構(gòu)建用戶界面...
閱讀 3297·2021-11-15 11:37
閱讀 2485·2021-09-29 09:48
閱讀 3870·2021-09-22 15:55
閱讀 3048·2021-09-22 10:02
閱讀 2670·2021-08-25 09:40
閱讀 3267·2021-08-03 14:03
閱讀 1731·2019-08-29 13:11
閱讀 1595·2019-08-29 12:49