如何使用 Express 路由器

node.jsserver side programmingprogramming更新于 2025/6/26 9:52:17

在之前的示例中,我们将所有路由代码都写在了单个文件 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 文件中导入 router 函数 −

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

在 App.js 文件中添加一个用于使用 router 的中间件。

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 中,以便使用该路由器。


相关文章