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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM