一、深入理解express框架
1. 定义
- 基于
Node.js
平台,快速、开放、极简的 Web 开发框架
- 其实就是
node npm包管理工具中的第三方包
,可以使用express快捷创建服务器
2. 其他的node框架
3. node可以通过http创建服务器,为什么还需要用express呢?
- http 内置模块创建服务器比较复杂,降低开发效率
- express 框架创建服务器是通过 http 模块封装出来的,在创建服务器或者编写接口方面更加简便
4. 安装
cnpm i express@4.17.3 -S
5. 创建服务器
const express = require('express');
const app = express();
app.listen(3000, () => {
console.log('service run in http://127.0.0.1:3000');
});
二、监听数据请求和参数处理
url:请求地址
req:包含请求的属性和方法
res:包含响应的属性和方法
1. get请求
const express = require('express');
const app = express();
app.get('/userInfo', (req, res) => {
console.log(req.query);
res.send('请求成功');
});
app.listen(3000, () => {
console.log('server run in http://127.0.0.1:3000');
});
2. post请求
const express = require('express');
const app = express();
app.post('/login', (req, res) => {
console.log(req.body);
res.send('登录成功');
});
app.listen(3000, () => {
console.log('server run in http://127.0.0.1:3000');
});
三、路由配置模块化
1. express中的路由
- 前端中的路由 router 一样,
在不同的路由页面展示不同的内容
- express中的路由就是
不同路径的接口,响应客户端不同的数据
2. 创建路由模块
const express = require('express');
const router = express.Router();
router.post('/user/login', (req, res) => {
res.send('登录');
});
router.get('/user/userInfo', (req, res) => {
res.send('获取用户数据');
});
module.exports = router;
const router = require('./router/user');
app.use(router);
2. 完整代码
const express = require('express');
const app = express();
const userRouter = require('./router/user');
const courseRouter = require('./router/course');
app.use('/user', userRouter);
app.use('/course', courseRouter);
app.listen(3000, () => {
console.log('server run in http://127.0.0.1:3000');
});
const express = require('express');
const router = express.Router();
router.post('/login', (req, res) => {
res.send('登录成功');
});
router.post('/register', (req, res) => {
res.send('注册成功');
});
module.exports = router;
const express = require('express');
const router = express.Router();
router.get('/findCourse', (req, res) => {
res.send('查询课程成功');
});
module.exports = router;