一、划分文件使用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:""
}
})
}