JavaScript是一門運行在客戶端(瀏覽器)的一種"輕量級"的腳本編程語言
JavaScript不僅僅能在瀏覽器中運行懒叛,也可以在Node中運行
什么是Node家破?
Node是一個環(huán)境策菜,供JavaScript代碼執(zhí)行的環(huán)境翰萨,可以把它等價于瀏覽器缺狠,只不過一般都會把Node這個環(huán)境安裝到服務(wù)器端尖淘,這樣的話,就可以在服務(wù)器
端使用JavaScript來編寫程序了倡勇。也就是說逞刷,JavaScript不僅僅是客戶端的語言,也可以是服務(wù)器端的語言妻熊。-
Node && 瀏覽器
Node采用的是谷歌V8引擎來渲染JavaScript的: 運行的速度快夸浅,穩(wěn)定,JavaScript代碼不需要考慮兼容扔役。
瀏覽器中的全局JavaScript對象是window帆喇,而Node環(huán)境下的全局對象是global。
瀏覽器是安裝在客戶端亿胸,為了保護客戶端的安全番枚,基本上不可能提供用JavaScript對客戶電腦磁盤上的文件進行操作的功能; 但是Node環(huán)境中提供了對應(yīng)
的I/O操作(服務(wù)器上文件的操作),可以使用JavaScript對磁盤下的文件進行增刪改查损敷。Node提供給JavaScript很多新的方法: http.createServer, fs.writeFileSync, fs.readFileSync, ...
Node是基于事件驅(qū)動的異步編程葫笼,在Node環(huán)境下編寫JavaScript程序一般都是異步編程的。 -
如何讓JavaScript在Node環(huán)境中執(zhí)行?
利用webstorm嵌入了Node的機制拗馒,直接把編寫的JavaScript通過右鍵 "Run xxx.js" 就可以使其在Node的環(huán)境中執(zhí)行路星。(不建議這樣使用,因為有些
時候最新執(zhí)行的操作會運行前幾次的緩存)進入到要執(zhí)行的JavaScript文件的目錄下,打開命令窗口洋丐,在命令窗口中執(zhí)行 "node xxx.js"呈昔。
在Node執(zhí)行JavaScript代碼和瀏覽器中執(zhí)行一樣,如果JavaScript代碼發(fā)生了修改友绝,想要看到新的結(jié)果需要重新執(zhí)行JavaScript代碼堤尾。在命令窗口執(zhí)行 node, 然后開始編寫對應(yīng)的JavaScript代碼測試即可(RPEL命令),和在瀏覽器控制臺寫JavaScript代碼測試一樣迁客。
-
Node模塊
內(nèi)置模塊(Node環(huán)境天生提供的): http(createServer), fs(writeFileSync, readFileSync), url, ...自定義模塊: 自己定義的模塊郭宝。
在Node環(huán)境中,在當(dāng)前項目下創(chuàng)建一個JavaScript文件掷漱,就像相當(dāng)于創(chuàng)建了一個模塊粘室,例如:新建一個a.js,相當(dāng)于創(chuàng)建了a模塊卜范。
如果需要提供一些方法給其他的模塊使用衔统,則需要通過
module.exports把方法導(dǎo)出,例如:在a模塊中寫了
module.exports = {fn:fn} 或者 module.exports.fn = fn;
如果想在b模塊中使用海雪,需要先導(dǎo)入var a = require('./a')锦爵,這樣b模塊就可以調(diào)取a模塊的方法了: a.fn();
第三方模塊: 別人寫好的模塊,我們拿來使用奥裸。如果要使用別人的模塊棉浸,需要使用npm這個命令進行管理。(www.npmjs.com)
安裝: npm install 第三方模塊名稱 -g (安裝到Node全局環(huán)境中)
卸載: npm uninstall 第三方模塊名稱 -g
安裝成功后在JavaScript中通過 var less = require('less');
把剛才安裝的第三方模塊導(dǎo)入到JavaScript刺彩,這樣就可以使用這個模塊
中提供的方法了。