简述Node express常用函数有哪些?
参考回答
在 Node.js 的 Express 框架中,常用的函数主要包括以下几类:
app.use():用于注册中间件函数,比如处理请求数据、日志记录等。app.get():用于定义处理 GET 请求的路由。app.post():用于定义处理 POST 请求的路由。app.put():用于定义处理 PUT 请求的路由。app.delete():用于定义处理 DELETE 请求的路由。app.listen():用于启动服务器,监听指定端口上的请求。res.send():用于向客户端发送响应数据。res.json():用于向客户端发送 JSON 格式的响应。req.params:获取 URL 路径中的参数。req.query:获取 URL 查询字符串参数。
这些函数涵盖了路由定义、请求处理、响应发送等常见任务。
详细讲解与拓展
app.use()- 用于为应用程序注册中间件。例如:
const express = require('express'); const app = express(); app.use(express.json()); // 解析 JSON 格式的请求体 app.use((req, res, next) => { console.log(`{req.method} request for{req.url}`); next(); // 调用 next() 传递控制权 }); - 拓展:中间件可以实现日志记录、错误处理、权限校验等功能,按顺序执行。
- 用于为应用程序注册中间件。例如:
app.get()、app.post()等- Express 提供了方法来定义路由和处理 HTTP 请求。例如:
app.get('/users/:id', (req, res) => { const userId = req.params.id; // 获取路径参数 res.send(`User ID: ${userId}`); }); - 拓展:
- 支持动态路由:
/users/:id表示 id 是一个动态参数。 - 可以结合中间件链式处理:例如先校验参数,再返回响应。
- 支持动态路由:
- Express 提供了方法来定义路由和处理 HTTP 请求。例如:
res.send()和res.json()- 用于向客户端发送响应。
app.get('/', (req, res) => { res.send('Hello, World!'); // 发送字符串 }); app.get('/data', (req, res) => { res.json({ message: 'Hello, World!' }); // 发送 JSON }); - 区别:
res.send()可以发送字符串、HTML 或 Buffer。res.json()专门用于发送 JSON 数据,会自动设置Content-Type: application/json。
- 用于向客户端发送响应。
req.params和req.queryreq.params用于获取路由中的动态参数:app.get('/product/:id', (req, res) => { const productId = req.params.id; res.send(`Product ID: ${productId}`); });req.query用于获取查询字符串参数:app.get('/search', (req, res) => { const query = req.query.q; res.send(`Search query: ${query}`); });
app.listen()- 用于启动服务器并监听指定端口:
app.listen(3000, () => { console.log('Server is running on http://localhost:3000'); });
- 用于启动服务器并监听指定端口:
- 拓展:
- 结合环境变量设置动态端口:
const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
- 结合环境变量设置动态端口:
总结
Express 提供了一系列简单易用的函数,用于定义路由、处理请求和发送响应。这些函数不仅功能强大,还可以灵活组合来实现复杂的应用逻辑。开发者熟练掌握这些常用函数后,可以快速构建 Web 应用或 API 服务。