第一步,安装express模块:
npm install express --save
第二步,引入模块
const express = require("express")
第三步,创建实例
const app = express();
第四部,处理url请求
//拦截处理"/"的get请求
app.get("/",(req,res)=>{
//res.send可以解释:对象,字符串,布尔类型,布尔,HTML片段会会自动解析
//send方法和end方法接收的数据类型不同,end方法只能接收字符串和buffer
res.send("hello world!")
})
第五步,启动服务开始监听
app.listen(300,(error)=>{
if(error){
console.log("服务启动失败!")
}else{
console.log("服务启动成功!")
}
})
app.get("/",()=>{})
app.get("/login",()=>{})
//客户端请求:127.0.0.1:3000?userName=tom
app.get("/",(req,res)=>{
· let {userName}=req.query
res.send(`你输入的用户名是:${userName}`) //你输入的用户名是:tom
})
app.post("/login",(req,res)=>{
res.send("收到一个POST请求")
})
app.use("/reg",(req,res)=>{
res.send("收到一个注册请求")
})
1、安装body-parser
npm install body-parser --save
2、引入模块
const bodyParser = require("body-parser")
3、调用app.use()使用中间件
//让中间件帮我们处理
app.use(bodyParser.urlencoded())
4、接收请求
app.post("/login",(req,res)=>{
//使用中间件处理的数据会存放到req.body中
consolse.log(req.body)
})
假设目录结构是:
public
|__index.html
image
|__img.jpg
通过express.static()来设置静态目录,可以设置多个目录,express.static()是框架内置的中间件,可以直接使用
//使用绝对路径
let public_dir = path.join(__dirname,'public')
app.use(express.static(public_dir ))
//也可以使用相对路径
app.use(express.static('image'))
访问地址为:
http://127.0.0.1/index.html,即可访问到public下的index.html文件
http://127.0.0.1/img.jpg,即可访问到image下的img.jpg文件
app.use('/static',express.static('image'))
访问地址为:
http://127.0.0.1/static/img.jpg,即可访问到image下的img.jpg文件
异常处理中间件,要放在所有中间件的最后面
app.use((req,res,next)=>{
res.status(404).send("<h1>访问页面不存在!</h1>")
})
//异常处理中间件,要放在所有正中件的最后面
app.use((err,req,res,next)=>{
res.status(500).send("<h1>服务器异常!</h1>")
})
//访问不存在的页面时让浏览器跳转到主页
app.use((req,res,next)=>{
res.redirect('/')
})