安装
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) //get
console.log(req.url)
console.log(req.httpVersion)
console.log(req.headers)
//express操作
console.log(req.path) // /home
console.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 url
console.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.params
let 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')
})