Express.js 是一个基于 Node.js 平台的极简、灵活的 web 应用框架,它提供了一整套强大的特性来帮助你构建 web 和移动应用。Express.js 并不直接处理 HTTP 请求和响应,而是将这些功能封装在一个易于使用的 API 中,从而让你能够更快速地构建 web 应用。
以下是一个简单的 Express.js 应用示例:
- 安装 Express
首先,你需要确保已经安装了 Node.js。然后,你可以使用 npm(Node.js 的包管理器)来安装 Express。在你的项目目录下打开命令行,并输入以下命令:
npm init -y # 初始化 package.json 文件(使用默认设置)
npm install express --save # 安装 Express 并将其添加到 package.json 的依赖中
AI 代码解读
- 创建 Express 应用
在你的项目目录下创建一个名为 app.js
的文件,并输入以下代码:
const express = require('express');
const app = express();
const port = 3000;
// 定义路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
// 启动服务器
app.listen(port, () => {
console.log(`Server is running on port ${
port}`);
});
AI 代码解读
在这个示例中,我们首先引入了 Express 模块,并创建了一个 Express 应用实例。然后,我们定义了一个路由处理器,当访问根 URL(/
)时,它会返回一个包含文本 "Hello World!" 的响应。最后,我们使用 app.listen()
方法启动了服务器,并指定了监听的端口号。
- 运行应用
在命令行中,使用以下命令来运行你的 Express 应用:
node app.js
AI 代码解读
如果一切正常,你应该会在命令行中看到 "Server is running on port 3000" 的输出。此时,你可以打开浏览器并访问 http://localhost:3000/
来查看你的应用。你应该会看到一个包含文本 "Hello World!" 的页面。
- 中间件
Express.js 的一个关键特性是中间件。中间件是一个函数,它可以访问请求对象(req
)、响应对象(res
)以及应用请求-响应循环中的下一个中间件函数。你可以使用中间件来执行各种任务,如解析请求体、验证用户身份、记录日志等。
以下是一个使用中间件的示例:
const express = require('express');
const app = express();
// 自定义中间件
function logger(req, res, next) {
console.log(`${
req.method} ${
req.url}`);
next();
}
// 使用中间件
app.use(logger);
// 定义路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
// 启动服务器...
AI 代码解读
在这个示例中,我们定义了一个名为 logger
的中间件函数。它接受请求对象、响应对象以及下一个中间件函数作为参数。当接收到请求时,它会打印出请求的 HTTP 方法和 URL,然后调用 next()
函数来将控制权传递给下一个中间件或路由处理器。我们使用 app.use()
方法将 logger
中间件添加到了应用级别的中间件堆栈中,这意味着它将对所有请求生效。