一、express的使用
安装express 在根目录下输入 npm install express
引入express的包
const express = require("express");
定义一个app来接收express的返回值
let app = express();
get方法
代码结构:
"use strict"; const express = require("express"); let app = express(); app.get("/", (req, res)=> { res.send("<h1>这是标题</h1>"); })
app.listen(8888, ()=> {
console.log("正在监听8888");
})
参数一:url后的路径, url后面有/的都可以执行 127.0.0.1:8888/
参数二:回调函数 res.send()可以直接将内容发送到浏览器,发送完毕断开连接,send包含了write和end两个操作,使用起来更加方便。
参数一为"/*":表示匹配到的所有的url路径,都会执行里面的代码,这样,我们就需要在回调函数中增加一个参数 next,next跳转到下一个路由,如果没有next,则浏览器会一直处于等待的状态,有了next,执行完这里的get以后,会继续执行后面的get。因为这一执行顺序,我们可以在这里设置res的属性,那么执行后面get的时候,也可以使用res的这个属性。
app.get("/*", (req, res, next)=> { req.aa = "abc"; //为req增加属性,可以在下面被访问 next(); //跳转到下一个路由 }) app.get("/", (req, res)=> { res.send("<h1>这是标题</h1>" + req.aa); })
我们还可以通过status来设置状态码
app.get("/*", (req, res)=> { //让状态码变成404 res.status(404).send("通配符"); })
例如参数一为“/login” ,那么要想访问到页面就需要在路径中加入“/login”, 127.0.0.1:8888/login
获取url中的参数:
- req.query
使用query来获取参数,要求url中参数的写法必须为127.0.0.1:8888?name="zs"&id=1,我们可以用res.query.id来获取到id属性值
app.get("/", (req, res)=> { console.log(req.query); console.log(req.query.id); console.log(req.query.name); res.send("访问博客"); })
- req.params
使用query来获取参数,要求url中参数的写法必须为127.0.0.1:8888/zs/1
app.get("/:uesr/:id", (req, res)=> { console.log(req.params); res.send("啦啦"); })
post方法
post方法和get方法用法差不多,这里只做简单演示
app.post("/login", (req, res)=> { req.send("这是登录"); })
all方法
all将post和get合二为一,具体用法:
"use strict"; const express = require("express"); let app = express(); app.all("/login", (req, res)=> { if(req.method.toLocaleLowerCase() === "get") { res.send("这是get请求"); }else if(req.method.toLocaleLowerCase() === "post"){ res.send("这是post请求"); } }) app.listen(8888, ()=> { console.log("正在监听8888"); })
req.method用来获取请求的方式,可能为GET、POST、PUT、HEAD等,可以把它转换为小写与get、post比较