跟我一塊兒瞭解koa(二)

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);

相關文章
相關標籤/搜索