首先输入在项目文件下使用cmd,输入 npm install koa-router --save

const koa = require('koa');//引入koa
const Router = require('koa-router'); //配置路由 ,ctx 上下文context ,包含了request和response等信息
var router = new Router();
router.get('/',async (ctx)=>{
ctx.body = '首页'; //相当于 res.writeHead(); res.end();
}).get('/news',async (ctx)=>{
ctx.body = '这是一个新闻页面';
});
const app = new koa();//实例化koa
app.use(router.routes()); //启动路由
app.use(router.allowedMethods());//官方配置

另一种便捷写法

const 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(3000);

获取get传值

const 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传值
router.get('/newscontent',async(ctx)=>{
//从ctx中读取get值
console.log(ctx.query); //获取的是格式化的对象,例{id:'123'}
console.log(ctx.querystring); //获取的是url的字符串 ,例:'id=123'
console.log(ctx.request); //获取请求相关的信息,包括method,url,header等信息
ctx.body = '新闻详情';
}); app.use(router.routes());//启动路由
app.use(router.allowedMethods());//官方配置,请求错误的时候返回一个状态 app.listen(3000);

动态路由

const koa = require('koa');
var router = require('koa-router')();
var app = new koa(); router.get('/',async(ctx)=>{
ctx.body = '首页';
});
//动态路由
router.get('/news/:params',async(ctx)=>{
//aid 为自定义参数名,可以通过ctx.params访问
//如果有多个动态传值,则可以写成 '/news/:params1/:params2'的形式
ctx.body = ctx.params;
});
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);

koa2入门--02.koa2路由的更多相关文章

  1. 快速入门系列--MVC--02路由

    现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯.通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性.可读性.SEO优化.接下来 ...

  2. 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用

    [网络爬虫入门02]HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院  欧浩源 1.引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源发起请求.urllib是 ...

  3. CSS3基础入门02

    CSS3 基础入门02 边框相关属性 border-radius 通过这个属性我们可以设置边框圆角,即可以将四个角设置为统一的圆角,也可以单独的设置具体的某一个角的圆角. grammer: borde ...

  4. Django 02 url路由配置及渲染方式

    Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...

  5. JavaScript基本入门02

    目录 JavaScript基础入门 02 条件语句 if 语句 if .. else 语句 switch 结构 循环语句 while 循环 continue 关键字 do...while语句 for ...

  6. Shell入门02

    Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令   变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...

  7. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  9. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

随机推荐

  1. openstack安装dashboard后访问horizon出错 500 or 504

    访问controller/horizon出错500:internal server error 访问controller/horizon出错504:internal server error  gat ...

  2. 如何mock https请求

    最近在测试项目过程当中,遇到客户端mock https请求的场景,但是默认用charles抓取出来的https请求是乱码的,对于这类请求如何来mock,有以下2种方式: 1.这里有篇http://co ...

  3. 【7.18总结】KM算法

    先贴代码,参考博客来源于:https://blog.csdn.net/zyy173533832/article/details/11519291#commentBox 例题:HDU 2255 题意:n ...

  4. Myeclipse自定义注释

    1.设置模板 Windows—Preference—Java—Code Style—Code Templates 图中, Configure generated code and comments中的 ...

  5. CS第三方控件 标签: 总结 2016-04-09 11:51 1398人阅读 评论(27) 收藏

    大家都知道,我现在在做CS的项目,现在是需求频变啊,心里好苦,做了这么久,还是涨了一点点见识的,下面就介绍一下自己最近用到的几款CS的第三方控件. DockPanel 想必大家都用过VS,那么想一下V ...

  6. C#总结 标签: c# 2014-12-07 19:07 1148人阅读 评论(47) 收藏

    之前考二级的时候,C++没有好好的学,如今到了学C#的时候,又重新明白了一遍出来混,迟早要还得道理,我觉得,其实C#比C++简单,应该是因为之前没有好好学得原因,其实现在学C#,也是和一年前一样,照着 ...

  7. MacOS代理设置(桌面应用代理设置&Terminal代理设置)

    MacOS代理分为桌面应用代理设置&Terminal代理设置,使用代理软件默认只会开启桌面应用代理,Terminal代理需要单独配置   桌面应用代理设置 Terminal查看桌面应用代理设置 ...

  8. windows 和 linux 安装 tensorflow

    安装 跟往常一样,我们用 Conda 来安装 TensorFlow.你也许已经有了一个 TensorFlow 环境,但要确保你安装了所有必要的包. OS X 或 Linux 运行下列命令来配置开发环境 ...

  9. kubernetes API 访问控制在阿里云容器服务(ACK)上的实践

    提起K8s API的访问控制,很多同学应该都会想到RBAC,这是K8s用来做权限控制的方法,但是K8s对API的访问控制却不止于此,今天我们就来简单介绍下K8s的访问控制以及ACK如何利用这套方法提供 ...

  10. 「BZOJ2654」tree

    「BZOJ2654」tree 最小生成树+二分答案. 最开始并没有觉得可以二分答案,因为答案并不单调啊. 其实根据题意,白边的数目肯定大于need条,而最小生成树的白边数并不等于need(废话),可以 ...