📜  Express.js app.router() 方法(1)

📅  最后修改于: 2023-12-03 14:41:04.854000             🧑  作者: Mango

Express.js app.router() 方法

在 Express.js 中,app.router() 方法充当路由处理程序的容器。它是 Express.js 应用程序对象的一个属性,用于定义应用程序的路由。

使用方法

首先,确保已正确安装和导入 Express.js 模块。创建一个新的 Express.js 应用程序:

const express = require('express');
const app = express();

然后,将 app.router() 方法添加到应用程序中:

app.use(app.router);

现在,可以在应用程序中定义路由:

app.get('/home', function(req, res) {
    res.send('Welcome to the home page!');
});

app.post('/login', function(req, res) {
    res.send('Login successful!');
});

在上面的示例中,我们使用 app.get()app.post() 方法定义了两个不同的路由处理程序。

作用

app.router() 方法允许您将路由处理程序与特定的 HTTP 请求方法关联起来。当应用程序收到请求时,Express.js 将根据请求的 HTTP 方法选择相应的路由处理程序进行执行。

通过使用 app.get()app.post()app.put()app.delete() 等方法,您可以将不同的路由与指定的请求方法建立映射关系。

示例

下面是一个更完整的示例,展示如何使用 app.router() 方法和不同的请求方法定义多个路由:

const express = require('express');
const app = express();

app.use(app.router);

app.get('/home', function(req, res) {
    res.send('Welcome to the home page!');
});

app.post('/login', function(req, res) {
    res.send('Login successful!');
});

app.put('/users/:id', function(req, res) {
    res.send('User ' + req.params.id + ' updated successfully!');
});

app.delete('/users/:id', function(req, res) {
    res.send('User ' + req.params.id + ' deleted successfully!');
});

app.listen(3000, function() {
    console.log('Server started on port 3000');
});

在上述示例中,我们使用了四个不同的请求方法分别处理 /home/login/users/:id/users/:id 这些路由。

当客户端发出相应的请求时,Express.js 会根据请求的方法自动调用相应的路由处理程序。

总结

app.router() 方法是 Express.js 中的一个重要组件,用于定义应用程序的路由。它允许您将路由处理程序与特定的 HTTP 请求方法关联起来,并处理应用程序收到的不同类型的请求。

请记住,在 Express.js 4.x 版本之后,app.router() 方法被移除,并且路由处理程序应直接与 app.get()app.post() 等方法关联。因此,在新版本中,不需要显示地使用 app.router() 方法。

更多详情,请参考Express.js 官方文档