Express.js的路由工作方式
时间: 2024-02-03 14:04:01 浏览: 212
express-smart-controllers:一个 Node.js Express 模块,通过自动加载控制器和生成路由来简化路由管理
Express.js是一个基于Node.js平台的Web应用开发框架,它提供了一系列的API,其中包括路由API。路由是用来定义应用的端点(URIs)以及如何响应客户端请求的。在Express.js中,路由由一个URI、HTTP请求方法和若干个处理函数组成。当客户端发送一个HTTP请求到服务器时,服务器会根据请求的URL和HTTP请求方法来选择相应的路由,并执行相应的处理函数来处理请求。
Express.js中定义路由的语法如下:
```
app.METHOD(PATH, HANDLER)
```
其中,app是一个Express实例;METHOD是HTTP请求方法,比如GET、POST、PUT、DELETE等;PATH是服务器上的路径,可以是字符串、正则表达式或者一个数组;HANDLER是当路由匹配时执行的函数,可以是一个或多个回调函数。
例如,定义一个GET请求的路由:
```
app.get('/', function(req, res) {
res.send('Hello World!');
});
```
这个路由会匹配应用的根路径,并发送一个包含字符串'Hello World!'的响应到客户端。
除了基本的路由定义外,Express.js还提供了中间件(Middleware)机制,可以在路由处理函数前或后执行一系列的操作,比如记录日志、解析请求体、验证用户身份等。中间件函数可以在路由处理函数前后执行,可以是一个或多个函数,使用app.use()方法来添加中间件函数。
例如,定义一个日志中间件:
```
app.use(function(req, res, next) {
console.log('Time:', Date.now());
next();
});
```
这个中间件会在每个请求到达服务器时打印出当前时间,并调用next()函数来继续执行下一个中间件或者路由处理函数。
总之,Express.js的路由工作方式是通过匹配请求的URL和HTTP请求方法来选择相应的路由,然后执行路由的处理函数来响应客户端请求。中间件可以在路由处理函数前后执行一些操作,比如日志记录、请求解析、身份验证等。
阅读全文