express框架

时间:2022-01-20 08:46:40

一、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中的参数:

  1. 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("访问博客");
})
  1. 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比较