Linux參考:
Node.js是一個Javascript運行環境(runtime)。實際上它是對Google V8引擎進行了封裝。V8引 擎執行Javascript的速度非常快,性能非常好。Node.js對一些特殊用例進行了優化,提供了替代的API,使得V8在非瀏覽器環境下運行得更好。Node.js是一個基於Chrome JavaScript運行時建立的平台, 用於方便地搭建響應速度快、易於擴展的網絡應用。Node.js 使用事件驅動, 非阻塞I/O模型而得以輕量和高效,非常適合在分布式設備上運行的數據密集型的實時應用。
Express 是一個基於 Node.js 平台的極簡、靈活的 web 應用開發框架,它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。Express 也是官方推薦的Web框架。
如何在window環境下跑起來一個網站:
1 安裝node.js
2 新建一個文件夾nodejs_express
3 打開cmd ,定位到nodejs_express下
E:\myapp\nodejs_express
4 項目初始化 npm init,走完配置后,會在文件夾下生成一個文件:
package.json
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安裝程序,雙擊安裝就可以了
-
從node官網下載安裝文件,官網地址:http://nodejs.org/
-
這個安裝程序也很常規,順序點擊下一步就可以,或者做一些簡單的選擇,無需多說,只需強調一點,其中一步如圖所示:Add To Path一定要選上。這個的作用簡單說就是,在windows命令行添加node相關命令,詳細請自行百度。
-
我們非常愉快地把node安裝完成,然后安裝express,express是node官方唯一推薦的一個web框架,提供很多基礎方便的功能。
-
在命令行中執行 "npm install -g express"等待下載並且自動完成安裝。測試express完成安裝的一個方法就是查看其版本號,執行命令 “express -V”正常情況下回輸出版本號如圖,但有遇到不正常情況的,會提示“express不是內部或外部命令”,這樣問題就來了,這是什么原因呢?
-
有兩種可能:①在第二步安裝node是沒有添加環境變量,這種情況把node添加的環境變量即可解決。②express 4.x版本中將命令工具分出來了,需要再安裝一個命令工具,執行命令“npm install -g express-generator”完成后再測試就可以了。
測試安裝是否成功:
在命令行輸入 node –v 應該可以查看到當前安裝的nodejs版本號
簡單的例子
寫一段簡短的代碼,保存為helloworld.js,大致看下nodejs是怎么用的。
如下:該代碼主要是創建一個http服務器。
- var http = require("http");
- http.createServer(function(request, response) {
- response.writeHead(200, {"Content-Type": "text/html"});
- response.write("Hello World!");
- response.end();
- }).listen(8080);
- 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) 全局安裝
- npm install express -gd
b) 安裝在當前文件夾下
- npm install express
安裝成功后,命令行會提示 npm info ok
-g代表安裝到NODE_PATH的lib里面,而-d代表把相依性套件也一起安裝。如果沒有-g的話會安裝目前所在的目錄(會建立一個node_modules的文件夾)。
在項目中引用express包
例:
- var express = require('express');
- var app = module.exports = express.createServer();
如果沒有安裝過express,那么首先需要在當前項目文件夾下安裝一個express
命令行轉到當前路徑后,運行
- 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、服務端:
1)首先安裝socket.io
npm install socket.io
2)server.js
- var app = require('http').createServer(handler),
- io = require('socket.io').listen(app),
- fs = require('fs')
- app.listen(8080);
- io.set('log level', 1);//將socket.io中的debug信息關閉
- function handler (req, res) {
- fs.readFile(__dirname + '/index.html',function (err, data) {
- if (err) {
- res.writeHead(500);
- return res.end('Error loading index.html');
- }
- res.writeHead(200, {'Content-Type': 'text/html'});
- res.end(data);
- });
- }
- io.sockets.on('connection', function (socket) {
- socket.emit('news', { hello: 'world' });
- socket.on('my other event', function (data) {
- console.log(data);
- });
- });
2、客戶端:
1)websocket是html5標准,瀏覽器內部已經支持了,其編程接口大致有connect、close、open、send幾個接口,如果要使用瀏覽器原生的方式編寫websocket,比較繁瑣,所以可以下載一個客戶端庫方便編程,這里使用的是socket.io客戶端庫,點擊打開鏈接
2)index.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Ssocket</title>
- <script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
- </head>
- <body>
- <script type="text/javascript">
- var socket = io.connect('http://localhost:8080');
- socket.on('news', function (data) {
- alert(data.hello);
- socket.emit('my other event', { my: 'data' });
- });
- </script>
- </body>
- </html>
3、測試:
啟動服務端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+C
2) 轉到某個盤下 F:
3) 轉到某個文件夾下 cd F:\nodeExamples
4) 回到上級目錄 cd..