安装
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);
网友评论