模式切换
Express 框架
Express 框架
Express 是一个基于 Node.js 的 Web 开发框架,它简化了 Web 应用的开发,提供了丰富的功能,如路由、模板引擎、中间件、请求和响应处理等。Express 是构建 RESTful API 和 Web 应用的热门选择。
认识 express 模块
Express 是一个轻量级的 Web 框架,旨在简化 Node.js 中 HTTP 服务器的构建,尤其是与客户端进行交互。它提供了很多便利的 API 来处理 HTTP 请求、路由、响应以及中间件。
安装 Express:
bash
npm install express
express 模块的基本使用步骤
- 引入 express 模块;
- 创建应用实例;
- 配置路由;
- 启动服务器。
基本示例:
javascript
const express = require('express');
const app = express();
// 创建一个路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
在这个示例中,app.get()
用于定义一个 GET 请求的路由,res.send()
用于发送响应。最后,app.listen()
启动服务器。
express 模块中的响应对象
Express 中的响应对象 res
用于发送 HTTP 响应。常用方法包括:
res.send()
:发送响应。res.json()
:发送 JSON 响应。res.status()
:设置 HTTP 状态码。
示例:
javascript
app.get('/', (req, res) => {
res.status(200).json({ message: 'Hello World!' });
});
express 模块中的请求对象
Express 中的请求对象 req
用于处理客户端请求的数据。常用属性和方法包括:
req.query
:获取查询参数。req.body
:获取 POST 请求的参数(需使用中间件body-parser
解析)。req.params
:获取 URL 路径中的参数。
示例:
javascript
app.get('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`User ID is ${userId}`);
});
Express 模块中间件
中间件是 Express 的核心功能之一,它允许我们在请求和响应之间处理数据或执行逻辑。
认识中间件
中间件是 Express 应用程序中用于处理请求的函数,通常用于执行以下任务:
- 解析请求体;
- 路由匹配;
- 身份验证;
- 错误处理等。
示例:
javascript
app.use((req, res, next) => {
console.log('Request received');
next(); // 调用下一个中间件
});
router 中间件
router
中间件是用于处理路由的中间件。它使得 Express 应用中的路由更加模块化。
示例:
javascript
const userRouter = express.Router();
userRouter.get('/profile', (req, res) => {
res.send('User Profile');
});
app.use('/user', userRouter);
static 中间件
static
中间件用于处理静态文件,如图片、CSS 文件、JavaScript 文件等。使用 Express 提供的 express.static()
中间件,能够让你为静态文件指定目录。
示例:
javascript
app.use(express.static('public'));
这将使 public
文件夹中的内容可通过浏览器访问。
cookie parser 中间件
cookie-parser
中间件用于解析请求中的 cookies。
安装:
bash
npm install cookie-parser
使用:
javascript
const cookieParser = require('cookie-parser');
app.use(cookieParser());
body parser 中间件
body-parser
中间件用于解析请求体,特别是 POST 请求的数据。它支持 JSON、URL 编码、文本等格式。
安装:
bash
npm install body-parser
使用:
javascript
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
实现 RESTful Web 服务
RESTful API 是基于 REST(Representational State Transfer)架构风格构建的 Web 服务,通常用于与前端进行数据交互。
RESTful 路由设计:
GET
:获取资源。POST
:创建资源。PUT
:更新资源。DELETE
:删除资源。
示例:
javascript
app.get('/users', (req, res) => {
res.json([{ id: 1, name: 'John' }]);
});
app.post('/users', (req, res) => {
const newUser = req.body;
res.status(201).json(newUser);
});
Express-generator 脚手架
express-generator
是一个 Express 应用的项目生成器,它可以快速创建一个结构化的 Express 项目。
创建项目
安装 express-generator
:
bash
npm install -g express-generator
创建项目:
bash
express myapp
进入项目目录并安装依赖:
bash
cd myapp
npm install
设置项目参数
在生成的项目中,config
目录下包含了有关应用配置的文件。你可以在这些文件中进行更改,例如设置端口、日志配置等。
express-generator 模块应用
express-generator
提供了一个模块化的结构,包括路由、视图、公共文件等,非常适合用来构建大型应用。
Koa 框架
Koa 是由 Express 团队创建的另一个 Web 框架,旨在提供更轻量和更灵活的构建 Web 应用的方式。Koa 去除了中间件的许多默认功能,允许开发者自由选择所需的功能。
认识 Koa 框架
Koa 使用 async/await 来处理异步操作,使得代码更加简洁。与 Express 相比,Koa 更加灵活,没有像 Express 一样的内置中间件。它要求开发者自行选择需要的功能。
安装 Koa:
bash
npm install koa
Koa 框架的基本使用步骤
- 引入
koa
模块; - 创建应用实例;
- 配置中间件;
- 启动服务器。
基本示例:
javascript
const Koa = require('koa');
const app = new Koa();
app.use(async (ctx) => {
ctx.body = 'Hello Koa!';
});
app.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});
在这个示例中,ctx
是 Koa 中的上下文对象,它包含了请求和响应的数据。ctx.body
用于设置响应内容。