Express框架:API解析与实战指南
2023-10-02 16:28:28
Express 框架:掌握其 API 和实战指南
在 Node.js 应用开发领域,Express 框架以其轻盈、简洁和高效率备受青睐。其丰富的 API 提供了构建功能强大的 Web 应用所需的工具。让我们深入探究 Express 框架的关键 API 和功能,并通过代码示例掌握其实战技巧。
路由设置
路由是 Express 框架的核心功能,它允许您将 HTTP 请求映射到特定的处理程序。Express 提供了多种设置路由的方法:
app.get()
: 处理 GET 请求app.post()
: 处理 POST 请求app.put()
: 处理 PUT 请求app.delete()
: 处理 DELETE 请求app.all()
: 处理所有 HTTP 请求
在路由中,您可以指定路径、处理程序和中间件。例如,以下代码将处理对 /users
路径的 GET 请求,并使用 userController.listUsers()
函数作为处理程序:
app.get('/users', userController.listUsers);
视图引擎配置
Express 框架支持多种视图引擎,包括 Pug、EJS 和 Handlebars。您可以使用以下代码指定视图引擎:
app.set('view engine', 'pug');
随后,您可以在路由中渲染视图。例如,以下代码将在对 /users
路径的 GET 请求中渲染 users/list.pug
视图:
app.get('/users', userController.listUsers, (req, res) => {
res.render('users/list');
});
全局变量存储
Express 框架允许您存储全局变量,以便在整个应用程序中访问。可以使用 app.locals
对象存储全局变量。例如,以下代码将存储一个名为 user
的全局变量,并将其值设置为 { name: 'John Doe' }
:
app.locals.user = { name: 'John Doe' };
您可以从任何位置访问全局变量,例如,以下代码将在对 /users
路径的 GET 请求中输出全局变量 user
的值:
app.get('/users', (req, res) => {
res.send(app.locals.user);
});
HTTP 方法处理
Express 框架提供了处理 HTTP 方法的 API,包括:
req.method
: 获取 HTTP 方法,如GET
、POST
、PUT
或DELETE
req.query
: 获取 URL 查询参数req.body
: 获取请求正文res.status(code)
: 设置 HTTP 状态码res.send(data)
: 发送数据res.json(data)
: 发送 JSON 数据res.redirect(url)
: 重定向到另一个 URL
例如,以下代码将处理对 /users
路径的 POST 请求,并使用 userController.createUser()
函数创建新用户:
app.post('/users', userController.createUser, (req, res) => {
res.send(req.body);
});
中间件数据共享
Express 框架允许您使用中间件共享数据。中间件是在请求和响应之间执行的函数,可以用来处理请求、修改响应或存储数据。例如,以下代码将创建一个中间件,它将在请求中存储一个名为 user
的变量,并将其值设置为 { name: 'John Doe' }
:
app.use((req, res, next) => {
req.user = { name: 'John Doe' };
next();
});
然后,您可以在任何路由中访问中间件存储的数据。例如,以下代码将在对 /users
路径的 GET 请求中输出中间件存储的 user
变量的值:
app.get('/users', (req, res) => {
res.send(req.user);
});
请求参数获取
Express 框架提供了获取请求参数的 API,包括:
req.params
: 获取 URL 参数req.query
: 获取 URL 查询参数req.body
: 获取请求正文
例如,以下代码将处理对 /users/:id
路径的 GET 请求,并使用 userController.getUser()
函数获取用户:
app.get('/users/:id', userController.getUser, (req, res) => {
res.send(req.params.id);
});
结语
Express 框架是开发 Node.js Web 应用程序的强大工具。掌握本文介绍的 Express 框架关键 API 和功能,您将具备 Express 框架的基础知识,可以开始构建自己的 Web 应用程序。
常见问题解答
-
Express 框架的优点是什么?
Express 框架轻巧、简洁、高效,提供丰富的 API 和强大的功能,可以轻松构建功能强大的 Web 应用程序。 -
如何设置 Express 框架中的路由?
可以使用app.get()
、app.post()
、app.put()
、app.delete()
和app.all()
方法设置路由,将 HTTP 请求映射到特定的处理程序。 -
如何使用 Express 框架存储全局变量?
可以使用app.locals
对象存储全局变量,以便在整个应用程序中访问。 -
如何处理 Express 框架中的 HTTP 方法?
可以使用req.method
获取 HTTP 方法,req.query
获取 URL 查询参数,req.body
获取请求正文,res.status(code)
设置 HTTP 状态码,res.send(data)
发送数据,res.json(data)
发送 JSON 数据,res.redirect(url)
重定向到另一个 URL。 -
如何使用中间件共享数据?
可以在 Express 框架中使用中间件共享数据,中间件是在请求和响应之间执行的函数,可以用来处理请求、修改响应或存储数据。