簡單的說 Node.js就是運行在服務端的 JavaScript。Node.js是一個基於Chrome JavaScript運行時建立的一個平臺。Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
Node.js的安裝配置教程:http://www.runoob.com/nodejs/nodejs-install-setup.html
node -v 查看當前node版本
第一個Node.js程序:Hello World!
交互模式: 打開終端,鍵入node進入命令交互模式,可以輸入一條代碼句後立即執行並顯示結果:
Node.js創建第一個應用
如果我們使用PHP來編寫後端的代碼時,需要Apache或者Nginx的HTTP服務器,並配上mod_php5模塊和php_cgi。從這個角度看,整個“接收HTTP請求並提供Web頁面”的需求根本不需要PHP來處理。
不過對Node.js來說,概念完全不一樣了,使用Node.js時,我們不僅僅在實現一個應用,同時還實現了整個HTTP服務器。事實上,我們的Web應用以及對應的Web服務器基本上是一樣的。在我們創建Node.js第一個“Hello World”應用前,讓我們先了解下Node.js應用是由哪些部分組成的:
1、引入required模塊:我們可以使用require指令來載入Node.js模塊;
2、創建服務器:服務器可以監聽客戶端的請求,類似於Apache、Nginx等HTTP服務器;
3、接收請求與響應請求 服務器很容易創建,客戶端可以使用瀏覽器或終端發送HTTP請求,服務器接收請求後返回響應數據。
創建Node.js應用
步驟一、引入required模塊。
我們使用require指令來載入HTTP模塊,並將實例化的HTTP賦值給變量http,實例如下:
var http = require(“http”);
步驟二、創建服務器
接下來我們使用http.createServer()方法來創建服務器,並使用listen方法綁定8888端口。函數request,response參數來接收和響應數據。實例如下,在項目的根目錄下創建一個叫server.js的文件:
var http = require('http');
http.createServer(function(request,response){
//發送HTTP頭部
//HTTTP狀態值: 200 - ok
//內容類型: text/plain
response.writeHead(200,{'Content-Type':'text/plain'})
//發送響應數據 'Hello World! '
response.end('Hello World !');
}).listen(8888);
//終端打印信息
console.log('Server running at http://127.0.0.1:8888/');
終端依次鍵入:node server.js
Server running at http://127.0.0.1:8888/
瀏覽器訪問: 172.0.0.1:8888,如下圖
分析Node.js的HTTP服務器:
第一行請求(require)Node.js自帶的http模塊,並且把它賦值個http變量
接下來我們調用http模塊提供的函數:createServer這個函數會返回一個對象,這個對象有一個叫做listen的方法,這個方法有一個數值參數,指定HTTP服務器監聽的端口號。
NPM 使用介紹
NPM是隨同Node.js一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
1、允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
2、允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
3、允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
由於新版的nodejs已經集成了npm,所以之前npm也一併安裝好了。同樣可以通過輸入 "npm -v" 來測試是否成功安裝。命令如下,出現版本提示表示安裝成功:
可以使用 sudo npm install npm -g 來升級npm
使用npm命令安裝模塊
npm 安裝Node.js模塊語法格式是:
npm install <Module Name>
比如我們使用npm命令安裝常用的Node.js web 框架模塊express:
npm install express
安裝好之後,express包就放在了工程目錄下的node_modules目錄中,因此在代碼中只需要通過require(‘express’)的方式就好,無需指定第三方包路徑。
全局安裝與本地安裝
npm 的包安裝分爲本地安裝(local)、全局安裝(global)兩種,從敲的命令行來看,差別只是有沒有-g而已,比如
npm install express # 本地安裝
npm install express -g # 全局安裝
如果出現以下錯誤:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解決辦法爲:
$ npm config set proxy null
本地安裝
- 1. 將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下生成 node_modules 目錄。
- 2. 可以通過 require() 來引入本地安裝的包。
全局安裝
- 1. 將安裝包放在 /usr/local 下或者你 node 的安裝目錄。
- 2. 可以直接在命令行裏使用。
如果你希望具備兩者功能,則需要在兩個地方安裝它或使用 npm link。
接下來我們使用全局方式安裝 express
$ npm install express -g
你可以使用以下命令來查看所有全局安裝的模塊:
$ npm list -g
關於npm具體詳見:http://www.runoob.com/nodejs/nodejs-npm.html