Node.js 是一个基于 Chrome V8 引擎构建的 JavaScript 运行时,可以让我们在服务器端运行 JavaScript。Express 是一个为 Node.js 提供的高效、灵活的 Web 应用框架,它简化了使用 Node.js 创建 web 应用的过程。本文将介绍如何使用 Node.js 和 Express 框架创建一个简单的 Web 应用,并给出相应的代码示例。
安装 Node.js 和 Express
在开始之前,确保你的机器上已安装 Node.js。可以通过在终端中输入以下命令来检查 Node.js 是否安装成功:
node -v
接下来,使用 npm(Node.js 包管理工具)安装 Express 框架:
npm install express
创建一个简单的 Express 应用
现在我们来创建一个简单的 Express 应用。首先,在你的项目目录中创建一个新的 JavaScript 文件,比如 app.js
。
以下是app.js
的基本代码结构:
// 导入 express 模块
const express = require('express');
// 创建一个 express 应用
const app = express();
// 定义端口
const PORT = 3000;
// 创建一个基本的路由
app.get('/', (req, res) => {
res.send('欢迎使用 Express 框架!');
});
// 启动服务器
app.listen(PORT, () => {
console.log(`服务器正在运行,访问地址为 http://localhost:${PORT}`);
});
在上述代码中,我们首先导入了 Express 模块,然后创建了一个 Express 应用实例。接着,我们定义了一个基本的路由,当访问根路径 (/
) 时,服务器将返回一个简单的欢迎信息。最后,我们启动了服务器并监听指定的端口。
添加更多路由
我们还可以添加更多的路由来处理不同的请求。例如,我们可以添加一个 /about
路由来提供关于我们的应用的信息。
// 关于页面的路由
app.get('/about', (req, res) => {
res.send('这是一个关于页面!');
});
修改后的 app.js
如下:
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('欢迎使用 Express 框架!');
});
app.get('/about', (req, res) => {
res.send('这是一个关于页面!');
});
app.listen(PORT, () => {
console.log(`服务器正在运行,访问地址为 http://localhost:${PORT}`);
});
使用中间件
Express 允许我们使用中间件来处理请求和响应。中间件是一个函数,它可以访问请求对象(req
)、响应对象(res
)以及下一个中间件函数(next
)。我们可以使用中间件进行日志记录、解析请求体等操作。
以下是一个简单的中间件示例,它会在处理请求前输出请求的 URL:
app.use((req, res, next) => {
console.log(`请求 URL: ${req.originalUrl}`);
next(); // 调用下一个中间件或路由处理函数
});
在 app.js
中添加这个中间件后,完整的代码如下:
const express = require('express');
const app = express();
const PORT = 3000;
// 中间件: 记录请求的 URL
app.use((req, res, next) => {
console.log(`请求 URL: ${req.originalUrl}`);
next();
});
app.get('/', (req, res) => {
res.send('欢迎使用 Express 框架!');
});
app.get('/about', (req, res) => {
res.send('这是一个关于页面!');
});
app.listen(PORT, () => {
console.log(`服务器正在运行,访问地址为 http://localhost:${PORT}`);
});
总结
通过以上步骤,我们创建了一个简单的 Express 应用,添加了多个路由,并通过中间件来记录请求信息。Express 框架的灵活性使得我们可以非常方便地构建 Web 应用。不论是小型项目还是大型系统,Express 都能提供强大的支持。希望这篇文章能够帮助你入门 Node.js 和 Express 的开发!