初步NodeJS in Windows:從安裝到入門

來源:互聯網
上載者:User

上周末開始看NodeJS,一路下來從安裝到入門代碼都遇到了一些問題,今天總算解決了一點,寫下來分享一下:

 

安裝部分:

1.  首先我的系統是windows 8,所以這裡只拿node在windows下的安裝步驟跟大家講。node的是:http://nodejs.org/download/

     可以看到windows系列有兩類安裝檔案可以使用:exe檔案和msi檔案。區別是msi需要安裝,而且安裝後會把相關的執行檔案寫到系統內容變數,並且

     還整合了其它的node外掛程式,比如NPM。

     但是當我裝完msi檔案,再去安裝express的時候,就遇到問題了。所以如果大家不想折騰那就跟我一樣,下載一個node.exe檔案。

 

2.  在D:\ 建立檔案夾NodeJS把下載到的node.exe放到該檔案夾下面。純純的一個node環境就算裝完了,接下來在目前的目錄下 按住shift並點擊滑鼠右鍵,

     選擇在目前的目錄下開啟命令列工具。

     > node -v   輸出版本資訊,驗證安裝是否成功。

     > node -h    查看協助,列出了幾個簡單指令的使用。

     試著把 路徑 D:\NodeJS寫入系統內容變數的path中就可以在任意地方執行node命令了。

 

3.  安裝npm。這個工具應該是個外掛程式的管理工具,後面安裝外掛程式時會依賴它,所以要先把它安裝好。

     下載這個檔案:https://github.com/isaacs/npm/zipball/v1.0.104 在D:\NodeJS\下建立npmjs目錄,下載的檔案解壓到npmjs,如。

     

     其中有個node_modules檔案夾,裡面的檔案夾都是空的,從 這裡 下載一個新的node_modules,替換前面那個。

 

4.  在 D:\NodeJS\npmjs檔案夾下開啟命令列工具 執行 >node install npm -gf (當我做這一步時,提醒我版本不對,應該用0.4、0.5、0.6版,

     所以我換成了0.6版的node.exe, 這樣就安裝好nmp了) 

     執行 >npm -v 查看版本,驗證是否成功安裝。 

 

5.  安裝express。在D:\NodeJS 目錄開啟cmd,執行 npm install express -g 。注意,安裝過程有點長,耐心等待,不要覺得沒反應就是失敗了。

     執行 >express -V 查看版本驗證安裝是否成功。特別注意這裡的V是大寫的。

    上面的幾步大多是借鑒園友 Sean Lv 的 文章 ,但由於照搬操作還是遇到了一些問題,所以重新組織了一下,也順便加了幾個自己發現的問題。

 

6.  這一步是來安裝一個小工具:formidable。我在下面的練習中用到了,所以也在這兒寫一下吧。

     執行 > npm install formidable 命令完成安裝,注意一點:如果使用的Node.exe版本過高會安裝失敗的,需要0.9及以下版本。

 

NodeJS入門:

     下面開始講如何入門nodejs,這裡我推薦一本線上書籍《Node入門》地址:http://www.nodebeginner.org/index-zh-cn.html其實很多人都會推薦這

     本書,寫的不錯的。但讓人很不爽的是好多國內同胞直接粘貼人家的文章到自己的部落格裡裝B。其實我今天晚上剛看完這本書,現在主要是就裡面遇到的

     問題跟大家分享一下,如果大家不是看這本書來入門的,那下面的內容就可以繞過了。

 

1.  書中講到下面這個函數:

function sleep(milliSeconds) {     var startTime = new Date().getTime();     while (new Date().getTime() < startTime + milliSeconds);}

     其中的 while (new Date().getTime() < startTime + milliSeconds);我有點蒙,while迴圈還能這樣寫,是不是代碼錯了,執行後發現這沒問題,只是每

     次迴圈都只判斷沒操作。

 

2.  server.listen(8888).來監聽連接埠,但是當你多次重複請求操作時會產生衝突,導致node指令報錯,這時改一下連接埠號碼就行了,我改過8821、8823等。

 

3.  在做非阻塞處理時有exec("find /",function(error,stdout,stderr){...})。其中的一個參數"find /"指的是linux下的指令當然還有"ls -lah",如果是在

     windows下操作的話,這個地方一定報錯,可以把它換成"dir"試一下。

 

4.  在後面那個上傳圖片的例子中執行var form = new formidable.IncomingForm();時總是執行不通過,後來發現又是版本問題,我下載了1.0版本的

     覆蓋了之前的,這個地方就能通過了。

 

5.  同上的例子fs.renameSync(files.upload.path,"/temp/test.png");報錯,把renameSync改為rename就好用。真正的原因下面的文章裡有講。

     最後,我剛把所有的代碼都調出來了,結果從網上查到一篇文章,是專門分析這本書不足之處的。要是早看到該多好啊,哈哈。下面是連結,推薦大家:

     http://cnodejs.org/topic/4f348e5ec420ea662d026df2

     最後,俺也是剛開始嘗試寫node,希望跟大家多多交流啊,俺的微博是:http://weibo.com/319111988

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.