English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS 基础教程

NodeJS Express.js

NodeJS 缓冲&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS 文件(FS)

NodeJS 其他

Route di Express.js

Express.js路由定义了Express应用程序如何使用特定的URI(或path)和特定的HTTP请求方法(GET,POST等)来响应客户端请求。

为了理解Express.js路由的需求,让我们深入一个示例。

创建一个基本的Express应用程序,如下所示。

app.js

var express = require('express') 
var app = express() 
 
// Avvio del server
var server = app.listen(8000, function(){ 
    console.log('In ascolto sulla porta 8000...') 
 )

我们要做的是,实例化一个快速应用程序,在端口8000上启动它。现在,打开浏览器,并访问URL http://localhost:8000/。

响应是它无法获取资源“/”。

即使控制台中没有错误。该应用程序运行良好。

   

这是为什么?因为在Express应用程序中,我们启动了服务器,但是没有定义当请求到达服务器时必须发生的情况。

这就是Express.js路由的体现。以下是一条简单的快速路线。

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

这条路线定义什么?当您收到GET请求网址为的请求时,此路由定义在函数内部执行语句/。

在下面的屏幕快照中是一条路由,其中针对具有request url的GET请求执行功能/hello/。

让我们在app.js中定义一些路由并启动服务器。

app.js

 var express = require('express') 
var app = express() 
 
// 为GET请求和请求URL路径'/'或根执行的路由
app.get('/', function(req, res) { 
   res.send('Home.') 
 ) 
 
// 为GET请求和请求url路径'/hello/'执行的路由
app.get('/hello/', function(req, res) { 
   res.send('Hello page.') 
 ) 
 
// Punto di rotta per richiesta GET e percorso URL '/bye/'
app.get('/bye/', function(req, res) { 
   res.send('Pagina di arrivederci.') 
 ) 
 
// Avvio del server
var server = app.listen(8000, function(){ 
    console.log('In ascolto sulla porta 8000...') 
 )

Avvia la richiesta rapida.

Ora clicca sull'indirizzo del browser. Di default, il browser invia una richiesta GET.

Richiesta GET con percorso URL http://localhost:8000/

Richiesta GET con percorso URL http://localhost:8000/hello/

Richiesta GET con percorso URL http://localhost:8000/bye/

Punti di rotta rapidi con funzionalità multiple

Puoi fornire una o più funzionalità nella rotta. Ogni funzione è chiamata middleware.

app.js

 var express = require('express') 
var app = express() 
 
// Punti di rotta rapidi con funzionalità multiple
app.get('/hello/', function(req, res, next) { 
   res.write('Hello page. ') 
   next() 
 }, function(req, res, next){ 
   res.write('Hello again. ') 
   res.end() 
 ) 
 
// Avvio del server
var server = app.listen(8000, function(){ 
    console.log('In ascolto sulla porta 8000...') 
 )

Nel browser, l'output è

Puoi anche definire queste funzionalità modularmente, come mostrato di seguito.

 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() 
 } 
 
// Punti di rotta rapidi con funzionalità multiple
app.get('/hello/', hello, helloagain) 
 
// Avvio del server
var server = app.listen(8000, function(){ 
    console.log('In ascolto sulla porta 8000...') 
 )

Sommario

In questo tutorial Express.js, abbiamo scoperto cosa sono le rotte Express.js, come definire le rotte Express.js e come utilizzare queste rotte per fornire diversi tipi di metodi HTTP per diverse percorsi URL.