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