一、划分文件使用Router
创建一个routes目录,专门用于放置路由文件,通过module.exports导出供外部使用。
// 引入类
const Koa =require('koa');
// 引入koa-router
const Router =require('koa-router');
// 引入koa-body
const koaBody=require('koa-body');
const tagRouter =require("./routers/tag.router");
const userRouter =require("./routers/user.router");
const contentRouter =require("./routers/content.router");
// 创建对象
const app =new Koa();
app.use(koaBody());
const router =new Router({// 可以传递参数配置路由前缀
});
tagRouter(router);
userRouter(router);
contentRouter(router);
app.use(router.routes());
app.use(router.allowedMethods({
// throw: true, // 抛出错误,代替设置响应头状态
// notImplemented: () => '不支持当前请求所需要的功能',
// methodNotAllowed: () => '不支持的请求方式'
}));
// localhost:3000
app.listen(8000,()=>{
console.log("http://localhost:8000");
});
二、
tag.router.js的代码
// 添加 删除
const tagModel = require("../mong0db");
// 需要通过module.exports 导出
module.exports = function (router){
router.get("/tag",async (ctx)=>{
// const arr=[{text:"HTML"},{text:"sql"},{text:"Nodejs"}]
// tagModel.inserMany(arr,function(err,docs){
// console.log(err);
// console.log(docs);
// });
const data =await tagModel.find({});
ctx.body ={
status:200,
data:data,
msg:""
}
/* 标准的JSON数据
1.{
status:200,
data:[
{id:1,text:"html"},
{id:2,text:"sql"}
],
mag:""
}*/
})
router.post("/tag",async ctx=>{
await tagModel.create(ctx.request.body);
ctx.body ={
status:200,
data:null,
msg:""
}
})
}