安装
npm i express
使用
// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{res.end("hello express")
})
app.listen(3000,()=>{console.log("服务已启动~")
})
路由的介绍
什么是路由
官方定义:路由确定了应用程序如何响应客户端对特定端点的请求
路由的使用
一个路由的组成有 请求方法 , 路径 和 回调数 组成
express 中提供了一系列方法,可以很方便的使用路由,使用格式如下
app.<method>(path,callback)
获取请求参数
express框架封装了一些API来方便获取请求报文中的数据,并且兼容原生HTTP模块的获取方式
// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{//原生操作console.log(req.method) //getconsole.log(req.url) console.log(req.httpVersion)console.log(req.headers)//express操作console.log(req.path) // /homeconsole.log(req.query) // {a:'100',b:'200'}console.log(req.ip) // 127.0.0.1//获取请求头console.log(req.get('host'))res.end("hello express")
})
app.listen(3000,()=>{console.log("服务已启动~")
})
路由参数获取
const express = require('express')
const app = express()
app.get('/:id.html',(req,res)=>{// get params of urlconsole.log(req.params.id)res.setHeader('content-type','text/html;charset=utf-8')res.send('details of goods')
})
app.listen(3000,()=>{console.log('server start')
})
练习
const express = require('express')
const {singers} = require('./singer.json')
const app = express()
app.get('/singer/:id.html',(req,res)=>{let {id} = req.paramslet result = singers.find(item=>{if(item.id===Number(id)){return true}})if(!result){res.end('404 Not Found')return}res.end(`<h1>${result.singer_name}</h1><img src = '${result.singer_pic}'/>`)
})app.listen(3000,()=>{console.log('server start')
})