Koa集成路由模块koa-router

2019-08-22  本文已影响0人  iDevOps
安装
cnpm i -S koa-router
创建路由文件

在项目根目录新建/routes/index.js和/routes/users.js
index.js

const Router = require("koa-router");
const router = new Router();
router.get("/", ctx=>{
    ctx.body = "index";
});
module.exports = router;

user.js

const Router = require("koa-router");
const router = new Router({prefix: "/users"});
router.get("/", ctx=>{
    ctx.body = "users";
});
module.exports = router;
集成路由到项目中
const Koa = require('koa');
const app = new Koa();
const index = require("./routes/index");
const users = require("./routes/users");

// 错误处理中间件
app.use(async (ctx, next)=>{
    try {
        await next();
    } catch (error) {
        // 响应用户
        ctx.status = error.statusCode || error.status || 500;
        ctx.body = error.message;
        ctx.app.emit('error', error); // 触发应用层级错误事件
    }
});

// 放到其他中间件的后面
app.use(index.routes());
app.use(users.routes());

// 全局错误事件监听
app.on('error', (error)=>{
    console.error(error);
});

// 语法糖, 等同于http.createServer(app.callback()).listen(3000);
app.listen(3000);
测试

http://localhost:3000/
http://localhost:3000/users

上一篇 下一篇

猜你喜欢

热点阅读