返回
Express路由简明手册
前端
2023-11-16 01:13:34
## Express路由概述
Express.js中的路由是一个用于处理请求的函数。它可以根据请求的URL和HTTP方法来确定应该执行哪个函数。路由通常被组织成一个树形结构,其中根节点是应用程序的根目录,子节点是应用程序的各个子目录。
例如,以下代码定义了一个根路由,它将所有对`/`的请求都转发到`index.html`文件:
```javascript
app.get('/', (req, res) => {
res.sendFile('index.html');
});
也可以定义一个子路由,它将所有对/users
的请求都转发到users.js
模块:
app.use('/users', require('./users.js'));
创建路由
要创建路由,可以使用app.get()
、app.post()
、app.put()
和app.delete()
等方法。这些方法分别对应HTTP GET、POST、PUT和DELETE请求。
例如,以下代码定义了一个路由,它将所有对/users
的GET请求都转发到getUsers
函数:
app.get('/users', getUsers);
也可以定义一个路由,它将所有对/users
的POST请求都转发到createUser
函数:
app.post('/users', createUser);
路由参数
路由可以包含参数,这些参数可以从请求的URL中提取出来。例如,以下代码定义了一个路由,它将所有对/users/:id
的GET请求都转发到getUser
函数,其中id
参数是从URL中提取出来的:
app.get('/users/:id', getUser);
可以在路由参数中使用正则表达式来匹配特定的字符串。例如,以下代码定义了一个路由,它将所有对/users/:id
的GET请求都转发到getUser
函数,其中id
参数必须是一个数字:
app.get('/users/:id([0-9]+)', getUser);
路由中间件
路由中间件是在路由处理请求之前或之后执行的函数。中间件可以用于验证请求、记录请求或执行其他任务。
例如,以下代码定义了一个中间件,它将在所有对/users
的请求之前执行:
app.use('/users', (req, res, next) => {
// 在此验证请求
next();
});
也可以定义一个中间件,它将在所有对/users
的请求之后执行:
app.use('/users', (req, res, next) => {
// 在此记录请求
next();
});
构建REST API
Express.js非常适合构建REST API。REST API是一种遵循REST原则的API,它使用HTTP请求来创建、读取、更新和删除数据。
例如,以下代码定义了一个REST API,它允许用户创建、读取、更新和删除用户:
app.get('/users', getUsers);
app.post('/users', createUser);
app.put('/users/:id', updateUser);
app.delete('/users/:id', deleteUser);
总结
Express.js的路由非常强大,可以轻松地处理各种类型的请求。通过使用路由,可以构建各种各样的应用程序,包括Web应用程序、REST API和移动应用程序。