在 express.js 中處理不同的路由
為了處理不同的路由,使用了 use() 函式。use() 函式有多個過載版本,其中一個版本將 url 路徑作為引數。根據 url 路徑,將篩選請求以獲取各自的中介軟體。
const http = require('http');
const express = require('express');
const app = express();
app.use('/', (req, res,next)=>{
console.log('first middleware');
res.send('<h1> first midleware:
Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);在上面的示例中,我們使用 ‘/’ 作為 url 路徑,這是一個預設值。
現在,由於每個路由都以 ‘/’ 開始,因此上面的中介軟體將執行每個 http 請求。它適用於 ‘/’ 和 ‘/username’。
為了避免上述問題,在使用預設中介軟體之前,我們必須先使用特定於路徑的中介軟體。
const http = require('http');
const express = require('express');
const app = express();
app.use('/username', (req, res,next)=>{
res.send('<h1> My username </h1>');
});
app.use('/', (req, res,next)=>{
console.log('first middleware');
res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);現在,我們首先使用 ‘/username’ 路徑中介軟體,由於我們在其中沒有使用 next(),因此它不會將 http 請求傳遞到下一個中介軟體。
因此,我們看到不同 url 的瀏覽器輸出如下 −
localhost:3000

對於 localhost:3000/username

如果對所有內容都需要執行任何預處理,那麼使用預設中介軟體 url 路徑 ‘/’ 將很有用。我們只需在其中使用 next() 即可將處理後的請求傳遞到下一個中介軟體。
const http = require('http');
const express = require('express');
const app = express();
app.use('/', (req, res,next)=>{
console.log('log request info', req);
next();
});
app.use('/username', (req, res,next)=>{
res.send('<h1> My username </h1>');
});
app.use('/', (req, res,next)=>{
console.log('first middleware');
res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP