koa中路由動態傳值
1.路由
路由(Routing)是由一個 URI(或者叫路徑)和一個特定的 HTTP 方法(GET、POST 等)
組成的,涉及到應用如何響應客戶端對某個網站節點的訪問。
通俗的講:路由就是根據不一樣的 URL 地址,加載不一樣的頁面實現不一樣的功能。
2.安裝對應的 koa-router 路由模塊npm
cnpm install --save koa cnpm install koa-router --save
3.在app.js寫入app
//引入 koa模塊 var Koa=require('koa'); var Router = require('koa-router'); //實例化 var app=new Koa(); var router = new Router(); //配置路由 router.get('/',async (ctx)=>{ ctx.body = '首頁' }).get('/news',async(ctx)=>{ ctx.body = '這是一個新聞頁面' }) // 做用: 這是官方文檔的推薦用法,咱們能夠 // 看到 router.allowedMethods()用在了路由匹配 router.routes()以後,因此在當全部 // 路由中間件最後調用.此時根據 ctx.status 設置 response 響應頭 app.use(router.routes()); /*啓動路由*/ app.use(router.allowedMethods()); app.listen(3000)
運行項目,頁面效果爲
咱們使用另一種方法重寫路由koa
//app1.js var Koa =require('koa') var router = require('koa-router')()/*引入是實例化路由*/ var app = new Koa() router.get('/',async(ctx)=>{ ctx.body = "首頁" }) router.get('/news',async(ctx)=>{ ctx.body = "新聞列表頁面" }) router.get('/newscontent',async (ctx)=>{ ctx.body = "新聞詳情" }) app.use(router.routes());//啓動路由 app.use(router.allowedMethods()) app.listen(3002)
效果以下
使用get方法進行動態路由傳值async
//app3.js //引入koa模塊 var Koa = require('koa') var router = require('koa-router')() var app = new Koa() router.get('/',async (ctx)=>{ ctx.body = '首頁' }) router.get('/news',async (ctx)=>{ ctx.body = '新聞列表頁面' }) // 獲取get傳值 //http://localhost:3002/newscontent?aid=123 router.get('/newscontent/:aid/:cid',async (ctx)=>{ console.log('params',ctx.params) console.log(ctx.query); console.log(ctx.querystring) console.log(ctx.url) console.log(ctx.request.url); console.log(ctx.request.query); //{ aid: '123', name: 'zhangsan' } 對象 console.log(ctx.request.querystring); //aid=123&name=zhangsan ctx.body = "新聞詳情" }) app.use(router.routes()); /*啓動路由*/ app.use(router.allowedMethods()); app.listen(3003);