express核心

1,express框架的特性

1)提供了方便简洁的路由定义方式;
2)对获取HTTP请求参数进行了简化处理;
3)对模板引擎支持度高,方便页面渲染;
4)提供中间件有效控制HTTP请求;
5)拥有多个中间件可对其功能进行扩展;

2,express框架的使用方法

1,引入express框架

const express = require('express');

1,静态托管

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

2,加载路由

app.use(router);

app.listen(3000,(req,res)=>{    
console.log('running....');
});

3,注册路由的方式

app.get('/about',(req,res)=>{    
res.send('about');
})

注:send()和end()方法两者的区别:

// 1. send方法内部会检测响应内容的类型    
// 2. send方法会自动设置http状态码  
// 3. send方法会帮我们自动设置响应的内容类型及编码

4,next中间件的使用:

// 引入express框架
const express = require('express');
// 创建网站服务器
const app = express();
// 接收所有请求的中间件
app.use((req, res, next) => {    console.log('请求走了app.use中间件');    next()
})
// 当客户端访问/request请求的时候走当前中间件
app.use('/request', (req, res, next) => {    console.log('请求走了app.use / request中间件')   
 next()
 })
app.get('/list', (req, res) => {   
 res.send('/list')
 })
app.get('/request', (req, res, next) => {    
req.name = "张三";    
next();
})
app.get('/request', (req, res) => {    
res.send(req.name)
})
// 监听端口
app.listen(3000);console.log('网站服务器启动成功');

next()中间件的使用是加载同一个路由时,前一个路由执行完必须使用中间件next()方法,交给下一个路由继续执行,否则程序就会被挂载不会继续往下执行。
next()的方法还可用于页面维护例:

app.use((req, res, next) => {
  res.send('当前网站正在维护...')
 })

猜你喜欢

转载自blog.csdn.net/weixin_42056687/article/details/107925850