express 是node中的服务器软件
通过express可以快速的在node中搭建一个web服务器
- 使用步骤:
1. 创建并初始化项目
yarn init -y
2. 安装express
yarn add express
3. 创建index.js 并编写代码
const express = require("express")//引入express
const app = express()//获取服务器实例(对象)
app.listen(3000, () => {
console.log("恭喜,你成功了");
})
//app.listen(端口号)来启动服务器
//协议名:http://localhost:3000
app.get("/", (request, response) => {
// /表示根目录
// request表示用户请求信息,可以通过他来获取
// response表示服务器发送客户端的响应信息
console.log("加油!")
//response.sendStatus(200) //sendstatus向客户端发送响应状态码
response.status(200 )//status用于设置响应404,但不发送
response.send("<h1>hhhhh</h1>")
})
如果希望服务器可以正常访问,则需要为服务器设置路由,
路由可以根据不同的请求方式和请求地址来处理用户的请求
app.METHOD(...)
METHOD 可以是 get 或 post ...
中间件
- 在express我们使用app.use来定义一个中间件
中间件作用和路由很像,用法很像
但是路由不区分请求的方式,只看路径
- 和路由的区别
1.会匹配所有请求
2.路径设置父目录
3.路由守卫
// next() 是回调函数的第三个参数,它是一个函数,调用函数后,可以触发后续的中间件
// next() 不能在响应处理完毕后调用
// next() 是回调函数的第三个参数,它是一个函数,调用函数后,可以触发后续的中间件
// next() 不能在响应处理完毕后调用
app.use((req, res, next) => {
console.log("111", Date.now())
// res.send("<h1>111</h1>")
next() // 放行,我不管了~~
})
app.use((req, res, next) => {
console.log("222", Date.now())
// res.send("<h1>222</h1>")
next()
})
app.use((req, res) => {
console.log("333", Date.now())
res.send("<h1>333</h1>")
})