今日份的Node.js已就位—Express框架(05)

前沿:

Express框架是一個簡潔而靈活的 node.js Web應用框架,其也屬於一個模塊,安裝方式和之前相同,通過npm install express即可安裝,框架的安裝目錄默認都是在應用目錄下的node_modules目錄下,通過Express框架可以快速地搭建一個完整功能的網站。

Express 框架核心特性:

  • 可以設置中間件來響應 HTTP 請求。

  • 定義了路由表用於執行不同的 HTTP 請求動作。

  • 可以通過向模板傳遞參數來動態渲染 HTML 頁面。

利用Expess框架搭建一個服務:

var express = require("express");
var app = express();

var server = app.listen(8888, "127.0.0.1", function() {
    console.log("listen host:" + server.address().address + "\nport:" + server.address().port);
});

代碼解析:

  1. 首先申請使用express模塊
  2. 調用express()會返回一個function(),賦值給app後其會處理所有的請求
  3. 通過app.listen()建立一個server,指定host、port

app.get

app.get(path, function())    根據匹配的path執行相應的function;path需要指定;app.get和app.use的區別:

  • app.get只可以指定回調函數;
  • app.use可以指定回調函數和路由規則。

app.use

app.use用來註冊函數,根據請求的path執行不同的回調函數或者路由;

var express = require("express")
var app = express();

app.use("/h", function(req, res, next) {
	console.log("step2");
	next();
});

app.use(function(req, res, next) {
	console.log("step1");
	next();
});

app.use("/h/hello/",function(req, res, next) {
	console.log("step3");
	next();
});

var server = app.listen(8888, "127.0.0.1", function() {
	console.log("listen host:" + server.address().address + "\nport:" + server.address().port);
})

代碼解析:

app.use(path, function());    根據匹配的path執行相應的function;如果path未指定,則默認爲'/'

如果function中沒有next()方法,即表示如果匹配成功,則不再接着往下進行匹配,如果匹配失敗會往下接着匹配直到匹配成功或者結束,因爲匹配是子上往下的順序。

測試結果:

cmd輸出:step1

cmd輸出:step2    step1

cmd輸出:step1    

cmd輸出:step2    step1    step3

cmd輸出:step1

個人認爲匹配規則可以歸結爲將瀏覽器輸入req.url和匹配規則對照,將匹配規則和url path的postion=0位置開始進行一一比對,'/'作爲一個分隔符,如果從postion = 0開始到'/'之間都可以匹配上則執行相應的回調函數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章