博客
关于我
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/

你可能感兴趣的文章
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>