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