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:""         }     }) }