Windows下Node.js+Express+WebSocket 安裝配置

Linux參考:javascript

Linux安裝Node.js html

使用Express搭建Web服務器  html5

 

 

Node.js是一個Javascript運行環境(runtime)。實際上它是對Google V8引擎進行了封裝。V8引 擎執行Javascript的速度很是快,性能很是好。Node.js對一些特殊用例進行了優化,提供了替代的API,使得V8在非瀏覽器環境下運行得更好。Node.js是一個基於Chrome JavaScript運行時創建的平臺, 用於方便地搭建響應速度快、易於擴展的網絡應用。Node.js 使用事件驅動, 非阻塞I/O模型而得以輕量和高效,很是適合在分佈式設備上運行的數據密集型的實時應用。java

  Express 是一個基於 Node.js 平臺的極簡、靈活的 web 應用開發框架,它提供一系列強大的特性,幫助你建立各類 Web 和移動設備應用。Express 也是官方推薦的Web框架。node

如何在window環境下跑起來一個網站:

1 安裝node.jsweb

2 新建一個文件夾nodejs_expressexpress

3 打開cmd ,定位到nodejs_express下npm

 

複製代碼代碼以下:

E:\myapp\nodejs_express

 

4 項目初始化 npm init,走完配置後,會在文件夾下生成一個文件:編程

  package.jsonjson

5 安裝Express :npm install express,安裝成功後,會在文件夾下生成一個node_modules目錄

6 Express項目初始化 express (express hello)

7 安裝依賴包npm install serve-favicon morgan cookie-parser body-parser path;>npm install jade

更簡單的是:

進入項目目錄,安裝nodejs依賴模塊npm install (cd hello ;npm install )

8 啓動npm start,並用本地IP的3000端口進行訪問

9 端口號能夠在bin/www文件中進行修改

以上所述是小編給你們介紹的Node.js+Express配置入門教程的相關知識,但願對你們有所幫助,若是你們有任何疑問請給我留言,小編會及時回覆你們的。在此也很是感謝你們對腳本之家網站的支持!

 

 

Windows平臺下的node.js安裝

直接去nodejs的官網http://nodejs.org/上下載nodejs安裝程序,雙擊安裝就能夠了

 

  1. 從node官網下載安裝文件,官網地址:http://nodejs.org/

    windows下安裝nodejs及框架express
  2.  

    這個安裝程序也很常規,順序點擊下一步就能夠,或者作一些簡單的選擇,無需多說,只需強調一點,其中一步如圖所示:Add To Path必定要選上。這個的做用簡單說就是,在windows命令行添加node相關命令,詳細請自行百度。

    windows下安裝nodejs及框架express
  3.  

    咱們很是愉快地把node安裝完成,而後安裝express,express是node官方惟一推薦的一個web框架,提供不少基礎方便的功能。

  4. 4

    在命令行中執行 "npm install -g express"等待下載而且自動完成安裝。測試express完成安裝的一個方法就是查看其版本號,執行命令 「express -V」正常狀況下回輸出版本號如圖,但有遇到不正常狀況的,會提示「express不是內部或外部命令」,這樣問題就來了,這是什麼緣由呢?

    windows下安裝nodejs及框架express
  5. 5

    有兩種可能:①在第二步安裝node是沒有添加環境變量,這種狀況把node添加的環境變量便可解決。②express 4.x版本中將命令工具分出來了,須要再安裝一個命令工具,執行命令「npm install -g express-generator」完成後再測試就能夠了。

測試安裝是否成功:

在命令行輸入 node –v 應該能夠查看到當前安裝的nodejs版本號

簡單的例子
寫一段簡短的代碼,保存爲helloworld.js,大體看下nodejs是怎麼用的。

以下:該代碼主要是建立一個http服務器。

[javascript]  view plain  copy
 
  1. var http = require("http");  
  2. http.createServer(function(request, response) {  
  3.     response.writeHead(200, {"Content-Type": "text/html"});  
  4.     response.write("Hello World!");  
  5.     response.end();  
  6. }).listen(8080);  
  7. console.log("Server running at http://localhost:8080/");  

 

打開命令行,轉到當前文件所存放的路徑下,運行 node helloworld.js命令便可

若是一切正常,能夠看到命令行輸出:Server running at http://localhost:8080/

同時,在瀏覽器輸入http://localhost:8080/,能夠看到一個寫着helloworld的網頁。



使用Express做爲Web服務器

Express是nodejs經常使用的一個框架。

a) 全局安裝 

 

[plain]  view plain  copy
 
  1. npm install express -gd  

 

b) 安裝在當前文件夾下 

 

[plain]  view plain  copy
 
  1. npm install express  

 

安裝成功後,命令行會提示 npm info ok

-g表明安裝到NODE_PATH的lib裏面,而-d表明把相依性套件也一塊兒安裝。若是沒有-g的話會安裝目前所在的目錄(會創建一個node_modules的文件夾)。

 

 

在項目中引用express包

例:

 

[javascript]  view plain  copy
 
  1. var express = require('express');  
  2. var app = module.exports = express.createServer();  

 

若是沒有安裝過express,那麼首先須要在當前項目文件夾下安裝一個express

命令行轉到當前路徑後,運行

 

[plain]  view plain  copy
 
  1. npm install express  

 

安裝完成後,能夠看到當前目錄下多了一個【node_modules】文件夾,下有一個【express】文件夾

注:項目中引用的包,都會被安裝到【node_modules】文件夾

 

用express建立項目

在命令行中輸入【express 項目名稱】,就能夠在當前文件夾下建立一個新的項目

如圖:

包括如下幾個文件:

 

用此方法,只是建立了一個空的項目框架,和一個簡單的實例程序,運行app.js能夠查看(還須要在項目文件目錄下,安裝jade包,方法相似安裝express)

 

使用websocket創建通信

Nodejs實現websocket的4種方式:socket.io、WebSocket-Node、faye-websocket-node、node-websocket-server,這裏主要使用的是socket.io

一、服務端:

1)首先安裝socket.io

 npm  install  socket.io

2)server.js

 

[javascript]  view plain  copy
 
  1. var app = require('http').createServer(handler),   
  2.     io = require('socket.io').listen(app),   
  3.     fs = require('fs')  
  4.   
  5. app.listen(8080);  
  6. io.set('log level', 1);//將socket.io中的debug信息關閉  
  7.   
  8. function handler (req, res) {  
  9.   fs.readFile(__dirname + '/index.html',function (err, data) {    
  10.     if (err) {  
  11.       res.writeHead(500);  
  12.       return res.end('Error loading index.html');  
  13.     }      
  14.     res.writeHead(200, {'Content-Type': 'text/html'});      
  15.     res.end(data);  
  16.   });  
  17. }  
  18.   
  19. io.sockets.on('connection', function (socket) {  
  20.     socket.emit('news', { hello: 'world' });  
  21.     socket.on('my other event', function (data) {  
  22.       console.log(data);  
  23.     });  
  24. });  


二、客戶端:

 

1)websocket是html5標準,瀏覽器內部已經支持了,其編程接口大體有connect、close、open、send幾個接口,若是要使用瀏覽器原生的方式編寫websocket,比較繁瑣,因此能夠下載一個客戶端庫方便編程,這裏使用的是socket.io客戶端庫,點擊打開連接

 

2)index.html

 

[html]  view plain  copy
 
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5.     <title>Ssocket</title>  
  6.     <script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.5.js"></script>       
  7. </head>  
  8.   
  9. <body>  
  10.     <script type="text/javascript">  
  11.       var socket = io.connect('http://localhost:8080');       
  12.       socket.on('news', function (data) {      
  13.         alert(data.hello);  
  14.         socket.emit('my other event', { my: 'data' });  
  15.       });  
  16.     </script>  
  17.       
  18. </body>  
  19. </html>  


三、測試:

 

啓動服務端nodejs代碼:node  server.js

在瀏覽器輸入 http://localhost:8080/index.html


瀏覽器打印出: world


命令行打印出:{ my: 'data' }

 

 

參考網站:

Node.js基礎 http://www.infoq.com/cn/master-nodejs

Node.js 入門教程 http://nodebeginner.org/index-zh-cn.html

Node.js中文文檔 http://cnodejs.org/cman/index.html

Express文檔 http://expressjs.com/guide.html#routing

CNode社區 http://club.cnodejs.org/

 

附命令行的常見操做:

1) 文件運行後,再次調出命令輸入欄 用Ctrl+C2) 轉到某個盤下 F:3) 轉到某個文件夾下 cd F:\nodeExamples4) 回到上級目錄 cd..

相關文章
相關標籤/搜索