静态中间件
中间件名称:koa-static
下载: npm install koa-static
使用:
// 引入KOA
const Koa = require("koa");
// 搭建服务器
const app = new Koa();
// 引入中间件 koa-static
const serv = require("koa-static");
// 使用中间件功能
app.use(serv("static"))
// 监听端口号
app.listen(3000)
注:在访问static下的内容时,不必在url中pathname部分出现static层级
路由中间件
静态中间件,解决了前端请求静态资源的问题。
路由中间件,解决了前端请求接口的问题。
中间件名称:koa-router
下载:npm install koa-router
使用:
第一步: 引入
const Router = require("koa-router");
第二步: 初始化一个路由对象
const router = new Router();
第三步: 挂载一个接口
router.get(pathname, handler);
router.post(pathname, handler);
第四步:将所有的接口都挂载到app上
app.use(router.routes())
举例:
// 引入路由中间件
const Router = require("koa-router");
// 初始化一个路由对象
const router = new Router();
// 挂载一个路由
router.get("/checkName", (ctx) => {
console.log(ctx);
ctx.response.message = JSON.stringify({
"error": 0,
"data": "success"
})
})
// 将路由对象 挂载到app上
app.use(router.routes())
session中间件
中间件名称:koa-session
下载:npm install koa-session
使用:
第一步 引入
const session = require("koa-session");
第二步 设置app.keys
app.keys = ["adsfhoiewahfoiewahf"];\
第三步 调用session函数
let sess_handler = session({}, app); // 将会返回一个函数
第四步 配置
app.use(sess_handler);
经过如上配置,我们就可以在任意路由下
通过ctx.session.xx = 进行保存内容
通过 ctx.session.xx 读取保存的内容
举例:
// 挂载一个检测session的接口
router.get("/checkSession", (ctx) => {
console.log(ctx.session)
})
// async 是一个关键字 ES7中实现 表示 “这是一个内部拥有异步方法的函数”
router.post("/login", async (ctx) => {
// 将用户名放入session中
let username = ctx.request.body.username;
ctx.session.username = username;
})