當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Node.js介紹和環(huán)境的安裝方式
什么是Node.js?
Node.js不是一種獨(dú)立的語(yǔ)言,它與PHP Java .net開(kāi)發(fā)語(yǔ)言和平臺(tái)不同,也不是javaScript的框架(jquery),更不是瀏覽器的庫(kù)(ExtJs).那它到底是什么呢?
Node.js是一個(gè)讓JavaScript運(yùn)行在服務(wù)器端的開(kāi)發(fā)平臺(tái)---簡(jiǎn)單點(diǎn)說(shuō)就是用JavaScript寫(xiě)服務(wù)器
實(shí)際上它是對(duì)Google V8引擎進(jìn)行了封裝。V8引 擎執(zhí)行Javascript的速度非常快,性能非常好。Node.js對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好
Node.js功能
它能做具有復(fù)雜邏輯的網(wǎng)站
能做基于社交網(wǎng)絡(luò)的大web應(yīng)用
能做Web socket服務(wù)器
能做TCP/UDP套接字應(yīng)用程序
能開(kāi)發(fā)命令行工具
能做交互型終端程序等等等等
Node.js特點(diǎn)
Node.js牛逼的特性就是采用異步I/O與事件驅(qū)動(dòng)的架構(gòu)設(shè)計(jì).對(duì)于高并發(fā)的解決方案,傳統(tǒng)的架構(gòu)是采用多線程(為每個(gè)業(yè)務(wù)提供一個(gè)線程,通過(guò)線程間的切換來(lái)調(diào)配同步I/O調(diào)用時(shí)的開(kāi)銷(xiāo)時(shí)間).Node.js使用的單線程模型,在執(zhí)行的過(guò)程中會(huì)維護(hù)一個(gè)事件隊(duì)列,程序在執(zhí)行時(shí)在進(jìn)入時(shí)間循環(huán)等待下一個(gè)事件到來(lái)
例子:res = db.query(“select *from user”,function(res){res.output();})//紅色部分的代碼比較耗時(shí),它不會(huì)影響其他代碼的執(zhí)行
Node.js發(fā)展歷史
初一個(gè)叫Ryan DahI的人在接到任務(wù)以后,他發(fā)現(xiàn)web服務(wù)器的工作任務(wù)和客戶(hù)端的工作任務(wù)相對(duì)獨(dú)立要寫(xiě)兩套代碼(他一個(gè)人干了這兩個(gè)活),于是他想把服務(wù)器端的代碼和響應(yīng)到客戶(hù)端的代碼統(tǒng)一.而V8引擎使得JavaScript這類(lèi)腳本語(yǔ)言編寫(xiě)出來(lái)的代碼運(yùn)行速度獲得了極大提升,又節(jié)省了開(kāi)發(fā)成本,于是他開(kāi)始設(shè)計(jì)并在09年基于V8創(chuàng)建一個(gè)輕量級(jí)的web服務(wù)器并提供一套庫(kù).10年他獲得資助并全職完善Node.js 11年微軟支持發(fā)布了Windows版本的Node.js 到目前年Node.js已經(jīng)發(fā)展成了一個(gè)成熟的開(kāi)發(fā)平臺(tái)
Nodejs工具
1.Node.js的安裝
安裝包地址 https://nodejs.org/en/download/
我是windows64位操作系統(tǒng) 我選擇的是windows Installer(.msi)
按照提示一直點(diǎn)點(diǎn)點(diǎn) 安裝完成
2.檢測(cè)PATH環(huán)境變量是否配置了Node.js
在終端輸入 path 敲回車(chē) 會(huì)看到安裝好的node的路徑:
步驟:
輸入cmd 然后敲回車(chē)
彈出終端
在終端輸入path然后敲回車(chē)
如果有nodejs
查看node的版本: 輸入 node --version 敲回車(chē)