我是如何學習NodeJs的 – 筆記1


實際上在開始的時候我已經對NodeJS有了一定的了解。

比如我知道它是居於Javascript語言的服務器端web Server,比如我知道它的優勢在於它的性能,而造成性能優異的原因在於高效的V8引擎,也就是編譯器,以及其它一些語言層面的東東,無非就是JS一些語言的特點,函數,異步,回調之類的。

但是在具體學習的時候,我還是遇到了開始時候想象不到的很多困難,下面就是對學習過程的一個簡單記錄。

1.

當然是Google開始

第一條搜索記錄顯然就是www.NodeJS.org這個官方網站,很簡潔的網站。

發現最中間好大的一個Download按鈕,不管許多,下載之。發現是一個msi文件,那還考慮什么,安裝吧。(Windows OS

安裝的過程很簡單。

后來才發現,在Linux下和Mac下都要比Windows下折騰麻煩一些,Windows下的青年們果然都是小白。(目前還只是在windows下折騰)

2.

OK,開始程序員的永遠的第一步“Hello World”。

var http = require("http");

http.createServer(function(request, response) {

  response.writeHead(200, {"Content-Type": "text/plain"});

  response.write("Hello World");

  response.end();

}).listen(8080);

這樣就完事了,將這幾句話copy近一個server.js的文件中,然后你需要打開命令行(強烈推薦使用PowerShell,我現在都沒有搞明白用CMD的話除了關掉窗口怎么停止或者Restart),運行

node server.js

接下來,打開瀏覽器訪問http://localhost:8080/,你會看到一個寫着“Hello World”的網頁。

這幾句話應該都能看明白,不解釋了。

3.

接下來自然而然的就想如何弄Web SocketServer了,於是繼續Google之,發現需要安裝NodeJS的模塊socket.io(這東西個人的理解就是類似於Java中的第三方庫的意思)

安裝模塊的方式一般是通過NPM,對於NPM完全沒有概念,於是繼續Google之。

找到一篇文章介紹NPMhttp://howtonode.org/introduction-to-npm,看了下,大概有了一些了解。(文章不錯,推薦下)

NPM就是NodeJS Package Management的縮寫。目前的NodeJS已經自帶NPM了。

這里簡單介紹幾個npm 命令,

npm list – 查看當前安裝的模塊

npm version – 查看當前npm的版本

npm install – 安裝新模塊

npm update – 更新模塊

npm help – 幫助(這個最重要)

其它命令可以去幫助文件中查詢,或者敲擊最上面的npm help命令

安裝的命令很簡單,你可以運行 npm help install獲取更多幫助(發現npm的幫助文件做的相當的不錯,例如運行上面的命令會自動打開一個htm幫助文件)

npm Install socket.io

npm install express

有些文章會提示這個命令可以加上-g或者-d(如果不試用-g的話,會發現express命令不好用,原因暫不清楚),例如

npm install –g socket.io

搜索了下-g-d是什么意思,在config的幫助文件中找到了答案

按照幫助文件的說法,-g-d其實就是Shorthand(縮記),說白了就是縮記符,他們分別代表的是

g – global

d – log lever info

還有其它的一些縮記符,你可以在幫助文件中找到他們

上面的縮記符的影響如下:

如果你添加了-g的話,則會將NodeJS模塊安裝到C:\Users\User Name\AppData\Roaming\npm\node_modules這個路徑下,如果沒有添加的話,則會安裝到你的NodeJS的安裝路徑的node_modules路徑下

注意:這里有個很重要的區別,如果是選擇-g也就是全局安裝的話,你可以直接在命令行中使用expressjade等命令,原因在於安裝NodeJS的時候,會自動將C:\Users\User Name\AppData\Roaming\npm\node_modules這個路徑添加到系統的環境變量中。

如果不添加-g的話,如果要使用expressjade等命令,則需要在NodeJSnode_modules目錄中尋找到express命令所在的.bin目錄,才可以正常使用。

如果添加了-d的話,則會顯示所有的安裝日志信息

 

4.

於是開始安裝模塊,看起來很簡單,但是這個時候問題出現了,我怎么都連接不上服務器

總是提示這個錯誤

npm http GET https://registry.npmjs.org/express

Error: failed to fetch from registry

看了下這個命令和執行過程,懷疑是下載一些包和文件之類的東東回來。

由於我是在單位折騰的,所以懷疑是網絡環境的問題,因為沒有辦法通過服務器的審查,所以不允許下載。

(1)      最開始想到的辦法是將https改為http,不使用ssl這樣的https傳輸協議,於是找到了修改配置的命令

npm config set registry http://registry.npmjs.org/express

npm config set strict-ssl false

更改之后,發現無效

(2)      因為其實就是下載文件,所有有的網站提到了可以將默認的http://registry.npmjs.org/express更改為其它網站,並給了幾個網址,可以通過上面的更改配置的方式更改,還是無效

(3)      最后無奈換了個網絡環境之后,發現可以安裝了,感覺應該是下載了安裝包,不會有其它變化(比如寫入注冊表之類的),所以將整個目錄copy了過來,並且進行了驗證,發現是好用的,你可以通過如下語句驗證

npm list

於是,環境終於算是搭建完成了,可以開始下面的工作了

幾個注意事項及總結

1.       NodeJS的模塊路徑是nodejs的安裝目錄下面的node_modules子目錄,例如我的是

C:\Program Files\nodejs\node_modules

2.       很多命令都需要node執行,比如

node –v

node –help

                node是一個命令行的執行程序,在NodeJS的根目錄中能夠找到

3.       很多命令都需要npm的執行,你可以在NodeJS的根目錄中找到npm.cmd這個文件

4.       幫助文檔很重要,有很多時候比Google定位問題要准確的多

5.       有准備的去找答案和瞎碰完全就是兩個概念

6.       多折騰總歸是有好處的,千萬不要怕折騰


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM