express框架学习笔记01
安装
npm install express --save //save自动添加package.json文件的依赖项
简单示例
//安装完成后引入express
const express = require('express')
//引入的express是方法赋值给app
const app = express()
//端口3000
const port = 3000
//简单路由导航
app.get('/', (req, res) => res.send('默认内容-首页'))
app.get('/login',(req,res)=>res.send('登录页面'))
//监听端口
app.listen(port, () => console.log(`Example app listening on port port!`))
express路由
- 静态路由
app.get('/login', (req, res) => res.send('登录页面'))
app.post('/post', (req, res) => res.send('这是post请求'))
app.put('/put', (req, res) => res.send('这是put请求'))
app.delete('/delete', (req, res) => res.send('这是delete请求'))
- 动态路由
app.get("/user/:id",function(req,res){
//获取前端传入的id
varid= req.params["id"];
res.send(id);
});
- 获取前端传入的参数(get请求)
访问http://127.0.0.1:3000/video?p=9
可打印 { p: ‘9’ }
app.get('/video', (req, res) => {
console.log(req.query);
res.send(req.query)
})
- post请求需搭配
body-parser
模块
express托管静态文件
- 基本使用
将项目内 public文件夹进行开放共享
app.use(express.static('public'));
- 虚拟共享目录
app.use('/static', express.static('public'));
express中间件
中间件为匹配路由之前或者匹配路由之后所要做的事情
使用next()方法
功能
- 执行任何代码
- 修改请求和响应对象
- 终结请求和响应循环
- 调用堆栈中的下一个中间件
中间件类型
- 应用级中间件
app.use((req, res, next) => {
next() //程序继续往下执行 理解为在register路由之前要做的事情
})
app.get('/register', (req, res) => res.send('注册'))
- 路由中间件
简单示例就是普遍使用的路由中间件
- 错误处理中间件
app.get('/index',(req,res)=>{
res.send('首页');
})
/*中间件相应 404*/
app.use((req,res)=>{
//res.render('404',{});
res.status(404).render('404',{});
})
- 内置中间件
app.use('/static',express.static("./static")); /*匹配所有的路径*/ app.use('/news',express.static("./static")); /*匹配所有的路径*/
- 第三方中间件
例如body-parser 模块