美文网首页
Koa集成路由模块koa-router

Koa集成路由模块koa-router

作者: iDevOps | 来源:发表于2019-08-22 21:38 被阅读0次
    安装
    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

    相关文章

      网友评论

          本文标题:Koa集成路由模块koa-router

          本文链接:https://www.haomeiwen.com/subject/jrqnjctx.html