NodeJS 基礎(chǔ)教程

NodeJS Express.js

NodeJS 緩沖&URL

NodeJS MySql

NodeJS MongoDB

NodeJS 文件(FS)

NodeJS 其他

Express.js 路由

Express.js路由定義了Express應(yīng)用程序如何使用特定的URI(或path)和特定的HTTP請(qǐng)求方法(GET,POST等)來響應(yīng)客戶端請(qǐng)求 。

為了理解Express.js路由的需求,讓我們深入一個(gè)示例。

創(chuàng)建一個(gè)基本的Express應(yīng)用程序,如下所示。

app.js

var express = require('express') 
var app = express() 
 
// 啟動(dòng)服務(wù)器
var server = app.listen(8000, function(){ 
    console.log('Listening on port 8000...') 
 })

我們要做的是,實(shí)例化一個(gè)快速應(yīng)用程序,在端口8000上啟動(dòng)它?,F(xiàn)在,打開瀏覽器,并訪問URL http://localhost:8000/。

Express.js無法獲取/

響應(yīng)是它無法獲取資源“ /”。

即使控制臺(tái)中沒有錯(cuò)誤。該應(yīng)用程序運(yùn)行良好。

Express.js應(yīng)用正在運(yùn)行    

這是為什么?因?yàn)樵贓xpress應(yīng)用程序中,我們啟動(dòng)了服務(wù)器,但是沒有定義當(dāng)請(qǐng)求到達(dá)服務(wù)器時(shí)必須發(fā)生的情況。

這就是Express.js路由的體現(xiàn)。以下是一條簡(jiǎn)單的快速路線。

 
 app.get('/', function (req, res) { 
    res.send('This is a basic Example for Express.js by nhooo') 
 })

這條路線定義什么?當(dāng)您收到GET請(qǐng)求網(wǎng)址為的請(qǐng)求時(shí),此路由定義在函數(shù)內(nèi)部執(zhí)行語句/。

在下面的屏幕快照中是一條路由,其中針對(duì)具有request url的GET請(qǐng)求執(zhí)行功能/hello/。

讓我們?cè)赼pp.js中定義一些路由并啟動(dòng)服務(wù)器。

app.js

 var express = require('express') 
var app = express() 
 
// 為GET請(qǐng)求和請(qǐng)求URL路徑'/'或根執(zhí)行的路由
app.get('/', function (req, res) { 
   res.send('Home.') 
 }) 
 
// 為GET請(qǐng)求和請(qǐng)求url路徑'/ hello /'執(zhí)行的路由
app.get('/hello/', function (req, res) { 
   res.send('Hello page.') 
 }) 
 
// 為GET請(qǐng)求和請(qǐng)求url路徑'/ bye /'執(zhí)行的路由
app.get('/bye/', function (req, res) { 
   res.send('Bye page.') 
 }) 
 
// 啟動(dòng)服務(wù)器
var server = app.listen(8000, function(){ 
    console.log('Listening on port 8000...') 
 })

啟動(dòng)快速申請(qǐng)。

現(xiàn)在點(diǎn)擊瀏覽器中的網(wǎng)址。默認(rèn)情況下,瀏覽器發(fā)送GET請(qǐng)求。

帶有URL路徑http:// localhost:8000 /的GET請(qǐng)求

帶有URL路徑http:// localhost:8000 / hello /的GET請(qǐng)求

帶有URL路徑http:// localhost:8000 / bye /的GET請(qǐng)求

具有多種功能的快捷路由

您可以在路線中提供一個(gè)或多個(gè)功能。每個(gè)功能都稱為中間件。

app.js

 var express = require('express') 
var app = express() 
 
// 具有多種功能的快速路線
app.get('/hello/', function (req, res, next) { 
   res.write('Hello page. ') 
   next() 
 }, function(req, res, next){ 
   res.write('Hello again. ') 
   res.end() 
 }) 
 
// 啟動(dòng)服務(wù)器
var server = app.listen(8000, function(){ 
    console.log('Listening on port 8000...') 
 })

在瀏覽器中,輸出為

您也可以分別為模塊化定義這些功能,如下所示。

 var express = require('express') 
var app = express() 
 
function hello(req, res, next) { 
   res.write('Hello page. ') 
   next() 
 } 
 
function helloagain(req, res, next){ 
   res.write('Hello again. ') 
   res.end() 
 } 
 
// 具有多種功能的快速路線
app.get('/hello/', hello, helloagain) 
 
// 啟動(dòng)服務(wù)器
var server = app.listen(8000, function(){ 
    console.log('Listening on port 8000...') 
 })

概要

在此Express.js教程中,我們了解了Express.js路由是什么,如何定義Express.js路由以及如何使用這些路由針對(duì)不同的URL路徑提供不同種類的HTTP方法。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清