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