Koa 是现在最流行的基于Node.js平台的web开发框架,由 Express 原班人马打造
,利用 async 函数,Koa丢弃了回调函数,并有力地增强错误处理。 Koa 并没有
捆绑任何中间件,给人一种干净利落的感觉,体积小、编程方式干净
1. 安装
npm install koa --save
cnpm i koa-router --save
2. 使用
let Koa = require('koa')
let app = new Koa();
//1.使用koa路由的时候,需要安装对应的路由koa-router
// cnpm i koa-router --save
//2.引入路由
let Router = require('koa-router');
let router = new Router();
// ctx 上下文 ;包含了request和response 的等信息;
//3.规划路由
router.get("/", async(ctx) => {
ctx.body = '首页面'
});
router.get("/news", async(ctx) => {
ctx.body = '新闻页面'
});
router.get("/product", async(ctx) => {
ctx.body = '产品页面'
});
//4.启用路由
app.use(router.routes()) /*启动路由*/
app.use(router.allowedMethods()); /* 可配可不配置,建议配置 */
app.listen(3002)
3. 获取查询参数
router.get("/", async(ctx) => {
ctx.body = '首页面'
console.log(ctx.query)
// 请求地址
console.log( ctx.request.url )
// 请求查询参数
console.log( ctx.request.query )
});
[Object: null prototype] { name: ‘doudou’ }
/?name=doudou
[Object: null prototype] { name: ‘doudou’ }
4. 动态路由
二级动态路由
router.get("/news/:name", async(ctx) => {
ctx.body = '新闻页面'
console.log(ctx.params.name)
});
三级动态路由
router.get("/news/:name/:age", async(ctx) => {
ctx.body = '新闻页面' + ctx.params.name + ctx.params.age
});