node.js

一、什么是node.js

node.js編寫高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包,javscript運行在服務(wù)端的開發(fā)平臺

Node.js采用的是谷歌v8引擎。(v8引擎執(zhí)行javascript速度非???,性能非常好)

node.js適合做I/o密集型項目;不適合做計算密集型項目

node.js的特點:快、耗內(nèi)存多、單線程語言、異步式、事件驅(qū)動最大特點就是采用異步式I/o與事件驅(qū)動的架構(gòu)設(shè)計。對于高并發(fā)的解決方案,傳動的架構(gòu)是多線程模式,也就是為每個業(yè)務(wù)邏輯提供一個系統(tǒng)線程,通過系統(tǒng)線程切換來彌補(bǔ)同步式I/o調(diào)用時的時間開銷。Nide.js使用的單線程模型,在執(zhí)行的過程中會維護(hù)一個事件對列,程序在執(zhí)行時在進(jìn)入時間循環(huán)等待下一個事件到來

Node.js的優(yōu)點:性能高,開發(fā)效率高(省優(yōu)化),應(yīng)用范圍廣

二、Node中的內(nèi)置對象:

1、console:

2、__dirname:文件所在的位置

3、__filename:文件所在位置加上文件名稱

4、exports:把當(dāng)前文件的內(nèi)容曝光(其他文件可以通過require使用exports曝光的內(nèi)容)使用exports曝光的內(nèi)容,必須給exports添加屬性

5、module:在node中一般使用exports一起使用來曝光內(nèi)容

1):exports必須添加屬性,module.exports可以不添加屬性

2):module.exports和exports可以曝光任何類型的內(nèi)容

3):exports和module.exports分別曝光:普通變量,函數(shù),對象,構(gòu)造函數(shù),工廠函數(shù)

三、Node.js中的官方模塊(核心模塊)

? ? ? 1、path模塊:提供一些處理文件路徑的小工具。

? ? ? ? ? ?方法:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1)normalization:格式化路徑

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2)join:連接路徑

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3)resolve:轉(zhuǎn)換為絕對路徑

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4)extname:路徑中文件的后綴名:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5)parse:返回路徑字符串的對象

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回對象:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? root:根目錄 ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dir:路徑 ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?base:當(dāng)前文件的文件夾 ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ext:擴(kuò)展名 ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? name:文件的名字

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6)basename:返回路徑中最后一部分?

? ? ? ? ?2、OS(操作系統(tǒng)):

? ? ? ? ? ? ? ? ? 方法:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1、arch():返回操作系統(tǒng)CPU架構(gòu)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2、cpus():返回一個對象數(shù)組,包含所安裝的每個CPU的


? ? ? ? 3、Process(進(jìn)程):用于描述node.js進(jìn)程狀態(tài)的對象

? ? ? ? ? ? ? ? ? ?屬性:(用于返回系統(tǒng)信息)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Pid:進(jìn)程號

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Stdout:指向標(biāo)準(zhǔn)輸出

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Stdin:指向標(biāo)準(zhǔn)輸入

? ? ? ? ? ? ? ? ? ? 方法:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?exit():使用指定的code結(jié)束進(jìn)程

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?cwd():返回當(dāng)前進(jìn)程的工作目錄

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?chdir():改變當(dāng)前工作進(jìn)程的目錄。如果操作失敗拋出異常

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? nextTick():一旦事件循環(huán)結(jié)束,調(diào)用回到函數(shù)

? ? ? ? ?4、Util(常用工具)

? ? ? ? ? ? ? 1、Util.inherits()是一個實現(xiàn)對象間原型繼承的函數(shù)

? ? ? ? ? ? ? 2、util.inspect()可以將任意對象轉(zhuǎn)換為字符串的方法,可分成次有結(jié)構(gòu)的組織對象

? ? ? ? ? ? ? 3、util.isArray():判斷給定的參數(shù)是否為一個數(shù)組是返回true否返回false;

? ? ? ? ? ? ? 4、util.isRegExp()判斷給定的參數(shù)是否為正則表達(dá)式是返回true否返回false;

? ? ? ? ? ? ? ?5、uti.isDate():判斷給定的參數(shù)是否為一個日期是返回true否返回false;

? ? ? ? 5、fs:file system:文件系統(tǒng)

? ? ? ? ? ? 什么是文件:在電腦中什么都是文件(除文件夾);

? ? ? ? ? ? 文件中放的是:文件內(nèi)容(讀和寫)

? ? ? ? ? ?在nodejs中,使用fs核心模塊讀寫文件

? ? ? ? ? ? ? 1、同步讀文件:.readFileSync(‘’)//參數(shù)是要讀文件的路徑,返回文件的內(nèi)容到buffer中

? ? ? ? ? ? ? ?2、異步讀文件:.readFile()這個方法有兩個參數(shù),第一個是要讀文件的路徑,第二個是回調(diào)函數(shù)(ps:回調(diào)函數(shù)有倆個參數(shù)第一個是當(dāng)文件出錯時的錯誤信息,第二個參數(shù)是讀到文件的內(nèi)容)

? ? ? ? ? ? ? ?3、同步寫文件:.writeFileSync()有兩個參數(shù)第一個是路徑,第二個參數(shù)是要編寫的內(nèi)容如果第一個參數(shù)沒有該文件,則會創(chuàng)建文件默認(rèn)的編碼格式是utf-8

? ? ? ? ? ? ? ?4、異步寫入文件:.writeFile():這個方法有兩個參數(shù),第一個是要讀文件的路徑,第二個是回調(diào)函數(shù),如果第一個參數(shù)沒有該文件,則會創(chuàng)建文件

? ? ? ? ? ? ? ?5、追加文件內(nèi)容

? ? ? ? ? ? ? ? ? ? ? 1)、同步.appendFileSync()第一個參數(shù)是文件的路徑,第二個是文件的內(nèi)容

? ? ? ? ? ? ? ? ? ? ? 2)、異步:appendFile();

? ? ? ? ? ? ? 6、重命名文件

? ? ? ? ? ? ? ? ? ? ? 1)、同步: renameSync()有倆個參數(shù)第一個是已有文件名,第二是要改的文件名

? ? ? ? ? ? ? ? ? ? ? ?2)、異步:rename();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容