Node實踐之一

你們都知道JavaScript的專長就是處理客戶端也就是與瀏覽器打交道了,全部的與服務器端的交互必須交給後臺語言處理程序去作,基於JavaScript不能與服務器進行直接交互這樣一個現狀,Ryan Dahl決定使用V8引擎來建立JavaScript服務器環境。在此簡單敘述一下這樣作的緣由:node

  • V8引擎很快
  • V8專一Web,因此在處理HTTP,DNS,TCP等方面特別擅長
  • 大多數Web開發人員都會JavaScript

用一句話來講就是Node.js是一個事件驅動的服務器端JavaScript環境。npm

也許有人會問了,什麼是服務器端的JavaScript?編程

JavaScript與Web頁面交互就是一般所稱的客戶端JavaScript,由於它發生在瀏覽器或者說客戶端。服務器端JavaScript發生在把頁面發送給瀏覽器以前的服務器上。json

安裝Node.js

(由於個人電腦win7,我的比較窮,也沒有蘋果電腦,後臺開發能力也只能說略懂,也沒有在Unix操做系統上測試過,因此在此申請一下,個人操做所有都是在微軟平臺上。很差意思啊)瀏覽器

nodejs官網首頁 下載相應的版本安裝便可,很簡單的服務器

驗證Node.js是否安裝正確

  1. 打開Node.js命令提示窗口
  2. 輸入1+1
  3. 看一下是否界面顯示2

第一個簡單demo

一、建立server.js,代碼以下併發

var http = require('http'); http.createServer(function (request, response) {//建立服務器
    response.writeHead(200, { 'Content-Type': 'text/plain' });//回傳到客戶端的頭信息
    response.end('Hello World!  ');//回傳到客戶端的信息
}).listen(3000,'127.0.0.1');//第一個參數爲端口 第二個參數爲主機地址
 console.log('server running at http://127.0.0.1:3000');

二、開始--運行 cmd(也就是打開命令提示符窗口)  把當前路徑cd轉到server.js所在的目錄工具

三、執行node server(原本是執行node server.js  但由於是js文件,因此默承認以省略.js)測試

四、打開瀏覽器,輸入網址:http://127.0.0.1:3000  會發現瀏覽器顯示hello worldui

在此備註一下:

  • 即便你只是修改js裏面的哪怕一個字符,若是你想看到修改後的效果,那就必須得從新編譯也就是說從新運行node命令
  • 要想中止服務器運行並返回終端,能夠按ctrl+c(這個命令很方便的)
  • Node.js是運行的v8引擎上的,v8是同Google開發的開源的JavaScript引擎。事實上Node.js是個編程平臺
  • 關於Node.js,併發的含義是一次作多件事件的能力

NPM(Node Package Manager)Node包管理器

npm容許開發人員在應用程序中建立、共享、重用模塊。說句通俗一點的話,包就是一個功能模塊,也確實是node.js的一個頗有特點的地方,爲開發人員提供了不少便利。

經過使用模塊能夠快速的給應用程序添加許多功能。模塊一般能夠爲開發人員除去常見的困難。

模塊就是可重用的代碼庫

模塊相關demo

安裝模塊

npm install [module_name]

使用模塊 

var module=require('module');

 

 

demo具體步驟:

一、建立foo.js,代碼以下

var _ = require('underscore'); _.each([1, 2, 3], function (num) { console.log('underscore.js says ' + num); });

 

二、打開命令提示符,將目錄轉到foo.js所在目錄(文章下面的demo  這個步驟也是必須的 但我省略不寫了哦)

三、運行npm install underscore  安裝underscore包以後命令提示符中將顯示相應的信息 而且在foo.js所在的目錄下多一個node_modules文件夾,node_modules文件夾下有underscore包文件

四、運行node foo

如何找模塊

在終端直接使用npm命令行工具來搜索 也就是npm search [模塊的名稱] 若是有多個關鍵字的話可用空格分開

提示:由於node.js容許你們只有有一個帳戶就能夠上傳包,也就是說任何人均可以是node.js模塊的做者,因此儘管模塊可經過npm得到,但並不表明它是獲得良好測試或者說是穩定的,請使用模塊的下載量和項目的問題數量做爲模塊的可靠性和成熟度的大體指南。

模塊的安裝方式

有兩種方式

  1. 本地安裝  npm install [module_name]
  2. 全局安裝 npm install -g  [module_name]

全局安裝意味着能夠在文件系統的任何位置運行它。

本地安裝模塊意味着模塊會被安裝在項目內名爲node_modules的文件夾中,並且它只可在該項目中使用。

全局安裝模塊意味着模塊可在系統的任何一個地方使用。

做爲 一條經驗法則,請本地安裝Node.js模塊。

如何找模塊文件

命令:npm docs [module_name]

這個命令執行以後會打開瀏覽器並進入模塊做者所提供的文檔頁面,不信你能夠在終端執行

 

npm docs underscore

 

經過運行以下命令查看項目的bug,這會打開瀏覽器並進入模塊做者所提供的問題頁面

npm bugs underscore

事實上還有一條查看源碼命令(可是我電腦總是無法打開 提示說權限不夠)

npm edit underscore

package.json

在C#中使用using來引用外部程序集,而在node.js中是使用package.json來指定依賴關係。npm容許開發人員使用package.json文件來指定在應用程序中要用的模塊,而且經過單個命令來安裝它們:npm install

可想而知這樣的方式有哪些好處:

  • 無需一個一個地安裝模塊
  • 其實開發人員能夠很容易的安裝你的應用程序
  • 應用程序的依賴關係存儲在一個單一的地方

package.json相關demo

一、創建一個foo.js文件,代碼以下所示:

var _ = require('underscore'); _.each([1, 2, 3], function (num) { console.log('underscore.js says ' + num); });

二、在foo.js同目錄下創建一個package.json的文件,代碼以下所示

{ "name":"example02", "version":"0.0.1", "dependencies":{ "underscore":"~1.2.1" } }

 三、在終端執行npm install 這時候將會看到underscore庫安裝在node_modules文件夾下

 建議:即便應用只須要安裝一個模塊,仍是強烈建議使用package.json文件來管理Node.js模塊

 

未完待續(考慮到篇幅太長的問題  後續文章將繼續探討)

相關文章
相關標籤/搜索