博客
关于我
Express -api参考
阅读量:473 次
发布时间:2019-03-06

本文共 2224 字,大约阅读时间需要 7 分钟。

Express框架入门指南

Express 是一个高效的 Node.js Web 框架,广泛应用于构建 Web 服务。以下是 Express 的核心功能和常用配置方法的详细说明。


应用程序设置

1. 创建 Express 应用程序

var express = require('express');
var app = express();

2. 定义路由和处理逻辑

app.get('/', function(req, res) {
res.send('hello world');
});

3. 启动服务器

app.listen(3000);

路由配置

1. 路由方法

Express 提供多种路由方法,如 app.get(), app.post(), app.all() 等。

app.get('/user/:id', function(req, res) {
res.send('用户 ID: ' + req.params.id);
});

2. 路由参数

使用 :id 定义路由参数,参数值可以在 req.params 中访问。

app.get('/search/:query', function(req, res) {
var query = req.params.query;
res.send('搜索关键词: ' + query);
});

3. 全局路由

app.all('*') 可以定义所有请求的全局路由。

app.all('*', function(req, res, next) {
console.log('所有请求都会经过这里');
next();
});

请求对象

1. 请求参数

req.params // 路由参数对象,例如 { id: '123' }

2. 请求查询

req.query // 解析过的查询参数对象

3. 请求体

通过 bodyParser 中间件,可以访问请求体数据。

req.body // 请求体对象

4. 文件上传

req.files // 上传的文件对象

响应对象

1. 设置响应头

res.set('Content-Type', 'text/plain');

2. 发送响应

res.send('hello world'); // 发送字符串响应
res.send(404, '页面不存在'); // 发送错误响应

3. JSON 响应

res.json({ message: '欢迎来到 Express' });

4. JSONP 支持

res.jsonp('callback', { message: '欢迎来到 Express' });

中间件

1. 请求体解析

app.use(express.bodyParser());

2. 文件服务

app.use(express.static('public'));

3. 文件上传

app.use(express.multipart());

4. 压缩响应

app.use(express.compress());

5. CSRF 防护

app.use(express.csrf());

应用本地变量

1. 设置本地变量

app.locals.title = 'My App';

2. 模板变量

本地变量可以在视图模板中使用。

app.use('views', path.join(__dirname, 'views'));

模板引擎

1. 注册模板引擎

app.engine('jade', require('jade').__express);

2. 使用模板

res.render('index', { title: 'My App' });

路由分组

1. 路由分组

可以将路由组织在组中,方便管理。

var userRouter = express.Router();
userRouter.get('/profile', function(req, res) {
res.send('用户个人资料');
});
app.use('/user', userRouter);

2. 路由参数

可以在组中定义路由参数。

var userRouter = express.Router();
userRouter.get('/:username', function(req, res) {
res.send('欢迎来到用户页面: ' + req.params.username);
});
app.use('/user', userRouter);

安装依赖

npm install express

常用错误处理

1. 404 错误

app.use((err, req, res, next) => {
if (err.status === 404) {
res.send('页面不存在');
}
next(err);
});

2. 全局错误处理

app.use((err, req, res, next) => {
console.error('服务器错误:', err);
res.status(500).send('服务器内部错误');
next();
});

通过以上配置,可以快速搭建一个 Express 应用程序,并通过路由和中间件灵活处理请求。

转载地址:http://aigbz.baihongyu.com/

你可能感兴趣的文章
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>