如何使用 express 路由器


在前面的示例中,我們把所有路由程式碼都寫入到一個檔案中 App.js。但在現實場景中,我們必須把這個程式碼劃分到多個檔案中。

我們可以建立單獨的檔案並將它們匯入,但是 express 提供了一個易於使用的路由機制。

建立一個名為 route.js 的單獨檔案(名稱可以是任何東西)

使用 express 建立路由 −

const express = require('express');
const router = express.Router();

匯出路由 −

module.exports = router;

新增路由函式 −

router.get('/add-username', (req, res,next)=>{
   res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button    type="submit"> Send </button> </form>');
});
 router.post('/post-username', (req, res, next)=>{
   console.log('data: ', req.body.username);
   res.redirect('/');
});

類似於我們在 App.js 中用於建立路徑的函式,我們使用了 router 。

將路由匯入到 App.js 檔案 −

const route = require('./routes');

在 App.js 檔案中新增一箇中間件來使用路由。

app.use(route);

更改後,完整的 App.js 檔案為 −

const http = require('http');
const express = require('express');
const bodyParser = require('body-parser');
const route = require('./routes');
const app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(route); app.use('/', (req, res,next)=>{
   res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);

route.js

const express = require('express');
const router = express.Router();
router.get('/add-username', (req, res,next)=>{
   res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button    type="submit"> Send </button> </form>');
});
router.post('/post-username', (req, res, next)=>{
   console.log('data: ', req.body.username);
   res.redirect('/');
});
module.exports = router;

如果 App.js 中存在 url 處理,則應將路由中介軟體置於它之前。因為在 App.js 檔案中,程式碼執行是從上到下進行的。

如果需要任何其他路由器,我們可以建立類似於 routes.js 的單獨檔案,並將其連同另一箇中間件匯入 App.js 中,以使用該路由器。

更新於: 2020 年 5 月 13 日

2K+ 次瀏覽

開啟你的 職業生涯

完成課程獲取認證

開始
廣告
© . All rights reserved.