Express and Koa2

97 阅读1分钟

Express

Express官网


// 基本使用
const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)})

静态资源


express.static(root, [options])

// 例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:

// 可以指定多个目录
app.use(express.static('public'))

// 虚拟目录 , 你就可以通过带有 /static 前缀地址来访问 public 目录中的文件了。

app.use('/static', express.static('public'))

路由(根据请求路径和请求方式进行路径分发处理)

http的常用请求方式:

  • post 添加
  • get 查询
  • put 更新
  • delete 删除

// 直接使用use分发可以处理所有的路由请求

app.use((req,res)=>{
    res.send('ok');
});

中间件

中间件:就是处理过程中的一个环节(本质上就是一个函数)

中间件的挂载方式:

  • use
  • 路由方式 get post put delete


// 跳转到下一个路由

next("route");

挂载参数处理中间件:


const app = require("express")();
const bodyParser = require("body-parser");

// 挂载内置中间件
app.use(express.static("public"));

// 挂载参数处理中间件(post)
app.use(bodyParser.urlencoded({ extendsfalse }));

// 处理json格式数据
app.use(bodyParser.json());

// 处理get提交参数
app.get("/login"(req, res) => {
  let data = req.query;
  console.log(data);
  res.send("get data");
});
// 处理post提交参数
app.post("/login"(req, res) => {
  let data = req.body;
  //   console.log(data);
  if (data.username == "admin" && data.password == "123") {
    res.send("success");
  } else {
    res.send("failure");
  }
  res.send("ok");
});
app.listen(3000() => {
  console.log("running");
});

Koa2

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-0.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-1.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-2.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-3.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-4.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-5.png

261422e86f9c44d1c5f2f1be4327b8b4WlDnxCNEKTdXVa5K-6.png