express是后台框架
- 帮我们解决了手动搭建服务,处理复杂的逻辑
- express 是一个函数,执行后返回的是一个监听函数
- get 要求路径必须绝对匹配到,use匹配开头即可
|
|
postman 服务端APIs模拟请求工具12请求API命令行$ curl -X POST http://localhost:8080/home
express 提供的属性
|
|
路径参数params
- :id 表示站位必须要有1app.get('/article/:id',callback)
listen
|
|
all
|
|
use 叫中间件 , 路由
use 叫中间件 , 路由
默认不写路径热呢请求都能进行匹配
- 中间件在路由最上面执行,先执行中间件 ,再执行路由
- 可以写路径,还可以不写路径,不写路径默认是/
- 可以拓展属性和方法 类似于 req.path req.query
- 可以决定是否向下执行next,若果调用next则可以向下执行
做权限判断
- 从中间件道路有的过程reg和res是同一个,而且中间件可以写多个123456app.use((req,res,next)=>{//next 是一个函数,如果调用则据需执行console.log('hello');res.end('66666'); //如果调用end代码不会继续执行next(); //如果要使用use扩展属性或者方法,一定调用next});
send()
- 可以自动发送json
- 可以自动处理编码类型
- 数字会转化成状态文本
用send取代end
express 提供了静态服务中间件
|
|
sendFile
- 向客户端返回单一页面12res.sendFile(path.resolve('./index.html'));res.sendFile('./index.html',{root:__dirname});
静态服务中间件
app.use(express.static(路径))
动态渲染ejs
ejs ->基于html,可以渲染动态数据
1$ npm install ejs --savejade
ejs –> 后端渲染``
<%js代码%>
<%=渲染的数据%>
123456789101112app.set('views','view'); //默认为views文件,需要手动更改app.set('view engine','html'); //更改渲染的引擎,默认为ejsapp.engine('html',require('ejs').__express); //对设置后的引擎app.get('/',(req,res)=>{res.render('index.html', //会默认去views查找//param1:要渲染的模板// 渲染时采用什么数据{data:'666666!',arr:[1,2,3]})});
body-parser 第三方form数据解析插件
|
|