前言:寫這篇文章的由來(lái):
1.前段時(shí)間單位有新項(xiàng)目啟動(dòng),服務(wù)端要做的工作不多也不算麻煩,就是處理一些中間層的服務(wù),而且我們團(tuán)隊(duì)里面?zhèn)€個(gè)都會(huì)JavaScript,領(lǐng)導(dǎo)就決定試試服務(wù)器端的JavaScript,結(jié)果本人有幸被派去研究了幾天Node,懷著雞凍的心情開(kāi)始了node.js的篇章,這篇文章也就是為這幾天研究的總結(jié)。
2.一個(gè)JavaScript工程師如果沒(méi)聽(tīng)過(guò)node.js那么我想你是不是錯(cuò)過(guò)了什么,每個(gè)優(yōu)秀的前端工程師都有必要去了解后臺(tái)處理流程,那么如果又能從JavaScript出發(fā),豈不是一件很美妙的事么。
3.互聯(lián)網(wǎng)的火熱使得JavaScript風(fēng)光無(wú)限,且服務(wù)端的JavaScript也并不是什么新技術(shù)了,相關(guān)的框架也有不少,只是node.js的成功讓他爆發(fā)式的出現(xiàn)在我們的視線中,讓很多前端工程師看到了從前端寫到后端的另一種實(shí)現(xiàn)希望。注:node.js 是一個(gè)允許開(kāi)發(fā)人員使用 JavaScript 語(yǔ)言編寫服務(wù)器端代碼的框架。
4.今年8月曾在某大公司最后一輪(第五輪)的面試被問(wèn)到Node.js的問(wèn)題,相對(duì)應(yīng)的回答那是相當(dāng)之糟糕,結(jié)果怎樣你們懂的,感覺(jué)這個(gè)問(wèn)題是導(dǎo)致沒(méi)有通過(guò)的關(guān)鍵點(diǎn)之一...那家公司是我在讀大學(xué)的時(shí)候就無(wú)比向往的公司,現(xiàn)在回想起那次經(jīng)歷和過(guò)程,談不上惋惜,畢竟我真的盡力了 - 其實(shí)這篇文章更多的也是為了完成自己一個(gè)小小的心結(jié)...好吧,又扯遠(yuǎn)了。
5.歡迎各種轉(zhuǎn)載,不過(guò)請(qǐng)注明出處,謝謝。
Node是個(gè)啥?
寫個(gè)東西還是盡量面面俱到吧,所以有關(guān)基本概念的東西我也從網(wǎng)上選擇性的拿了些下來(lái),有些地方針對(duì)自己的理解有所改動(dòng),對(duì)這些概念性的東西有過(guò)了解的可選擇跳過(guò)這段。
1.Node 是一個(gè)服務(wù)器端 JavaScript 解釋器,可是真的以為JavaScript不錯(cuò)的同學(xué)學(xué)習(xí)Node就能輕松拿下,那么你就錯(cuò)了,總結(jié):水深不深我還不知道,不過(guò)確實(shí)不淺。
2.Node 的目標(biāo)是幫助程序員構(gòu)建高度可伸縮的應(yīng)用程序,編寫能夠處理數(shù)萬(wàn)條同時(shí)連接到一個(gè)物理機(jī)的連接代碼。處理高并發(fā)和異步I/O是Node受到開(kāi)發(fā)人員的關(guān)注的原因之一。
3.Node 本身運(yùn)行Google V8 JavaScript引擎,所以速度和性能非常好,看chrome就知道,而且Node對(duì)其封裝的同時(shí)還改進(jìn)了其處理二進(jìn)制數(shù)據(jù)的能力。因此,Node不僅僅簡(jiǎn)單的使用了V8,還對(duì)其進(jìn)行了優(yōu)化,使其在各種環(huán)境下更加給力。(什么是V8 JavaScript 引擎?請(qǐng)“百度知道”)
4.第三方的擴(kuò)展和模塊在Node的使用中起到重要的作用。下面也會(huì)介紹下載npm,npm就是模塊的管理工具,用它安裝各種 Node 的軟件包(如express,redis等)并發(fā)布自己為Node寫的軟件包 。
安裝Node
在這簡(jiǎn)單說(shuō)說(shuō)在window7和linux兩種環(huán)境下安裝Node。安裝的時(shí)候一定要注意Python的版本,多次因?yàn)镻ython版本的問(wèn)題安裝失敗,建議2.6+的版本,低版本會(huì)出現(xiàn)Node安裝錯(cuò)誤,查詢Python版本可在終端中輸入:pyhton -v
1.先介紹linux下的安裝吧,Node在Linux環(huán)境下的安裝和使用都非常方便,建議在Linux下運(yùn)行Node,^_^...我使用的是Ubuntu11.04
a.安裝依賴包:50-100kb/s大概每個(gè)包一分鐘就能下載安裝完成
sudo apt-get install g++ curl libssl-dev apache2-utils sudo apt-get install git-core
b.在終端一步步運(yùn)行一下命令:
git clone git://github.com/joyent/node.git cd node ./configure make sudo make install
安裝順利的話到這一步Node就算安裝成功了,2M的網(wǎng)絡(luò)用了共計(jì)12分鐘。
注:如果不用git下載也可以直接下載源碼,不過(guò)這樣下載安裝需要注意Node版本問(wèn)題。使用git下載安裝是最方便的,所以推薦之。
2.在Windows下使用Cygwin安裝Node,這個(gè)方式不太推薦,因?yàn)檎娴男枰^長(zhǎng)時(shí)間和較好的人品。我的系統(tǒng)是 win7旗艦版
Cygwin是一個(gè)在windows平臺(tái)上運(yùn)行的unix模擬環(huán)境,下載地址:http://cygwin.com/setup.exe。
下載好Cygwin后開(kāi)始安裝,步驟:
a.選擇下載的來(lái)源 - Install from Internet
b.選擇下載安裝的根目錄
c.選擇下載文件所存放的目錄
d.選擇連接的方式
e.選擇下載的網(wǎng)站 - Devel包: gcc-g++: C++ compiler
gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
gcc4-g++: G++ subpackage
git: Fast Version Control System
主站蜘蛛池模板:
无为县|
黔西县|
旺苍县|
浮梁县|
靖西县|
吴川市|
临朐县|
芷江|
安义县|
瑞安市|
曲阜市|
通化县|
嵊泗县|
南京市|
怀来县|
哈巴河县|
灵台县|
宁武县|
房山区|
凌云县|
兴安盟|
水富县|
溧水县|
桐城市|
保康县|
台东市|
喀喇沁旗|
阳东县|
武陟县|
赣榆县|
朔州市|
东辽县|
股票|
临夏市|
阜南县|
永登县|
韩城市|
涿鹿县|
桃园县|
苏尼特左旗|
紫金县|