koa2入门--02.koa2路由

首先输入在项目文件下使用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);

 

posted @ 2019-10-30 16:38  ChienPop  阅读(324)  评论(0编辑  收藏  举报