Node.js 路由是指在 Node.js 中用于处理 HTTP 请求的系统。它可以控制应用程序的路径,决定应该执行哪些代码,并且返回相应的结果。
路由系统通常是建立在服务器端的,因为它需要处理客户端发送的 HTTP 请求。但是,也有一些客户端路由系统,它们可以在浏览器端使用。
在 Node.js 中,有许多不同的模块可用于创建路由系统。其中最流行的是 Express。
Express 是一个简单而强大的框架,用于构建 Web 应用程序和 API。它提供了许多有用的功能,如路由、中间件、模板引擎和静态文件处理。
要使用 Express 创建路由系统,首先需要安装它。打开终端并运行以下命令:
npm install express
然后,在 Node.js 文件中引入 express 模块:
const express = require('express');
接下来,使用 express 函数创建一个新的 Express 应用程序:
const app = express();
现在,就可以在应用程序上使用路由方法了。
Express 提供了多种路由方法,用于处理不同的 HTTP 请求方法,如 GET、POST、PUT 和 DELETE。
要处理 GET 请求,可以使用 app.get() 方法,该方法接受两个参数:路径和回调函数。回调函数接受两个参数:请求对象和响应对象。
下面是一个简单的示例,展示了如何处理 GET 请求并返回 "Hello World":
app.get('/', (req, res) => {
res.send('Hello World');
});
同样,也可以使用 app.post() 方法处理 POST 请求,使用 app.put() 方法处理 PUT 请求,以及使用 app.delete() 方法处理 DELETE 请求。
另外,还可以使用 app.all() 方法处理所有类型的请求。
在路由中,也可以使用路径参数。路径参数是在路径中的占位符,可以通过 req.params 获取。例如,可以使用路径参数 /users/:userId 来处理用户的 ID。
下面是一个示例,展示了如何使用路径参数:
app.get('/users/:userId', (req, res) => {
const userId = req.params.userId;
res.send(`User ID: ${userId}`);
});
在路由中,还可以使用中间件。中间件是在请求和响应之间的函数,可以用于执行许多不同的任务,如解析请求体、添加响应头、验证用户身份等。
要使用中间件,可以使用 app.use() 方法。该方法接受一个回调函数作为参数,该回调函数接受三个参数:请求对象、响应对象和 next 函数。
next 函数用于将控制权交给下一个中间件或路由处理程序。如果不调用 next 函数,请求和响应将不会传递到下一个处理程序。
下面是一个示例,展示了如何使用中间件来解析请求体:
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.post('/users', (req, res) => {
const user = req.body;
res.send(`User name: ${user.name}`);
});
现在,我们知道了如何使用路由和中间件来处理 HTTP 请求。下一步是启动服务器,使应用程序可以接收请求。
要启动服务器,可以使用 app.listen() 方法,该方法接受两个参数:端口号和回调函数。回调函数会在服务器启动后调用。
例如,下面是一个示例,展示了如何启动服务器:
app.listen(3000, () => {
console.log('Server started on port 3000');
});
这就是 Node.js 路由的基本概念了。
总之,在 Node.js 中,路由是用于处理 HTTP 请求的系统,可以控制应用程序的路径,决定应该执行哪些代码,并且返回相应的结果。常用的路由模块是 Express,它提供了路由、中间件、模板引擎和静态文件处理等功能。要使用 Express 创建路由系统,需要安装它,然后在 Node.js 文件中引入它,并使用 express 函数创建一个新的 Express 应用程序。之后,就可以在应用程序上使用路由方法,如 app.get()、app.post()、app.put() 和 app.delete(),处理不同的 HTTP 请求方法。还可以使用路径参数和中间件。最后,要启动服务器,使用 app.listen() 方法,传入端口号和回调函数。