1. 程式人生 > >Node.js的安裝與使用

Node.js的安裝與使用

一、概述

簡介

node.js實際上是採用google的chrome瀏覽器V8引擎,由C++編寫的javascript執行環境,由於封裝和底層的處理賦予了更大的能力,使得js可以像java、php等一樣運行於伺服器端。它可以像瀏覽器引擎那樣解析js程式碼,卻沒有瀏覽器端各種安全性的限制,還提供許多系統級別的API:
1、檔案的讀寫
2、進行的管理
3、網路通訊

Node.js與瀏覽器執行環境的異同點

相同點:都能執行一般的Js程式碼
不同點:全域性變數不同,例如window,document等只能在瀏覽器中取到,而process則只能在node環境中取到。

推薦學習網站

1.官網nodejs.org,看看更新及新加的功能特性,api變化
2.www.npmjs.com相關社群,很火爆,欣欣向榮
3.github.com上面有很多開源的優秀的專案,閱讀優秀原始碼是一種很快提高學習速度的方式
4.stackoverflow.com技術問答社群

二、安裝

Node.js的版本:
偶數位為穩定版本
-0.6.x
-0.8.x
-0.10.x

奇數位為非穩定版本
-0.7.x
-0.9.x
-0.11.x

從官網https://nodejs.org/en/下載nodejs ,一路next預設安裝即可,只需強調一點,如下圖所示的一步,注意要把Add To Path勾選上,這個的作用簡單說就是讓node命令可以直接在cmd執行。

這裡寫圖片描述

安裝完畢之後,可以開啟cmd測試一下,因為安裝過程(勾選了上面所說的Add to PATH)已經幫我們自動配置好了path環境變數,所以我們可以直接在cmd命令列輸入nodejs的命令

//檢視nodejs是否安裝成功
node -v
//檢視npm版本號(npm 是Node 的模組管理器,功能極其強大。 它是Node 獲得成功的重要原因之一。 正因為有了npm,我們只要一行命令,就能安裝別人寫好的模組)
npm -v

如果無法執行,則要檢視一下會不會環境變數配置出了問題,自己再配置一下即可。

這裡寫圖片描述

我們還可以通過https://git-scm.com/download/win去下載git bash

這個類似於命令列的工具,含有一些語法高亮,比較適合初學者。安裝過程也是比較簡單,一路預設就行。

三、使用

建立一個簡單伺服器

完成上面步驟後,我們就可以新建一個server.js檔案來建立一個簡單的伺服器了,我將檔案路徑放在 E:\sublimeText3\nodejs學習\第一個nodejs案例,程式碼如下:

var http = require('http');
http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type':'text/plain'});
    res.end('Hello World\n');
}).listen(1337,'127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

然後,開啟cmd命令列來執行這個檔案,分別輸入下面命令

//先定位到檔案所在磁碟E盤
>e:
//定位到具體目錄
>cd E:\sublimeText3\nodejs學習\第一個nodejs案例
//執行命令
>node server.js

這裡寫圖片描述

這裡寫圖片描述

也可以通過git bash執行上面命令,如果用git bash則可以不用先定位到目標磁碟,直接定位到目標目錄即可,並且要注意檔案分隔符應該修改為斜槓(/),而在cmd中則是反斜槓(\),命令如下:

>cd E:/sublimeText3/nodejs學習/第一個nodejs案例
>node server.js

這裡寫圖片描述

安裝supervisor

如果我們修改頁面的輸入內容,會發現點重新整理頁面依然是Hello World,這是因為無論修改了程式碼的哪一部分內容,都必須終止Node.js再重新執行都會奏效(重啟可以按快捷鍵Ctrl+c,然後再輸入node server.js),這是因為Node.js只有在第一次引用到某部分時才會去解析指令碼檔案,以後都會直接訪問記憶體,避免重複載入。Node.js的這種設計雖然有利於提高效能,卻不利於開發除錯。因為我們開發過程中總是希望修改後立即看到效果。
我們可以通過安裝supervisor來解決這個問題,注意這裡要採用全域性模式安裝(-g),因為需要在命令列中使用到,它會監視你對程式碼的改動,並自動重啟Node.js,安裝方法很簡單,可以通過npm輸入下面命令進行安裝:

>npm install -g supervisor

安裝完畢後可以通過supervisor命令啟動server.js

>supervisor server.js

當server.js中的程式碼發生改變時,執行的指令碼會被中止,然後重新啟動。在終端中顯示的結果如下,如果我們改動的是頁面輸出內容,則此時重新整理頁面就會立即顯示出修改的效果:

這裡寫圖片描述

安裝express

express是一個基於node.js的框架,也是node官方唯一推薦的一個web框架,提供很多基礎方便的功能。在命令列中輸入以下命令即可安裝,這裡也是全域性模式安裝

npm install -g express

等待下載並且自動完成安裝。測試express完成安裝的一個方法就是檢視其版本號,命令如下:

express --version

正常情況下會輸出版本號,如果提示“express不是內部或外部命令”,那麼問題就來了,這是什麼原因呢?
有兩種可能:
(1)在第二步安裝node時沒有新增環境變數,這種情況把node新增的環境變數即可解決。
(2)安裝的express版本是4.x的,express 4.x版本中將命令工具分出來了,需要再安裝一個命令工具才能執行express相關命令,執行下面命令進行安裝

npm install -g express-generator

完成後再輸入express –version測試一下就可以了。

使用淘寶映象

大家都知道國內直接使用 npm 的官方映象是非常慢的,這裡推薦使用淘寶 NPM 映象。
淘寶 NPM 映象是一個完整 npmjs.org 映象,你可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證儘量與官方服務同步。
你可以使用淘寶定製的 cnpm (gzip 壓縮支援) 命令列工具代替預設的 npm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

這樣就可以使用 cnpm 命令來安裝模組了:

$ cnpm install [name]