跟我一起了解koa(二)


koa中路由动态传值
1.路由
路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)
组成的,涉及到应用如何响应客户端对某个网站节点的访问。
通俗的讲:路由就是根据不同的 URL 地址,加载不同的页面实现不同的功能。
2.安装对应的 koa-router 路由模块

cnpm install --save koa
cnpm install koa-router --save

3.在app.js写入

//引入 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)

运行项目,页面效果为

我们使用另外一种方法重写路由

//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方法进行动态路由传值

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

优质内容筛选与推荐>>
1、队列->队列的应用(银行业务模拟)
2、2017-03-09
3、HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
4、洛谷 P2897 【蚯蚓】 题解
5、UVA11559 Event Planning【水题】


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号