express框架的简介和路由

一、深入理解express框架


1. 定义

  • 基于Node.js平台,快速、开放、极简的 Web 开发框架
  • 其实就是node npm包管理工具中的第三方包,可以使用express快捷创建服务器

2. 其他的node框架

  • koa2
  • egg
  • nest.js

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. 创建路由模块

  • 创建路由模块
// router/user.js
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. 完整代码

  • index.js
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');
});
  • router/user.js
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;
  • router/course.js
const express = require('express');
const router = express.Router();
//课程查询接口
router.get('/findCourse', (req, res) => {
    
    
  res.send('查询课程成功');
});

module.exports = router;

猜你喜欢

转载自blog.csdn.net/m0_58190023/article/details/129754123