本文主要是介绍koa2初探(二)路由 koa-router,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
每个项目产品都会让你加埋点,你是愿意花几天一个个加,还是愿意几分钟一个小时加完去喝茶聊天?来试试这520web工具, 高效加埋点,目前我们公司100号前端都在用,因为很好用,所以很自然普及开来了,推荐给大家吧
http://www.520webtool.com/
自己开发所以免费,埋点越多越能节约时间,点两下埋点就加上了,还不会犯错,里面有使用视频,反正免费 😄
https://blog.csdn.net/gggingsss/article/details/79913668
koa2初探(二)路由 koa-router
2018年04月12日 15:06:58 Karthus-gm 阅读数:3697 标签: koa2koa-router 更多
个人分类: Node.js
koa-router英文文档
安装
npm install koa-router
- 1
使用example
const Koa = require('koa')
// 注意 require('koa-router') 返回的是函数:
const router = require('koa-router')()
const app = new Koa()// 添加路由router.get('/', async (ctx, next) => {ctx.response.body = '<h1>index page</h1>'
})router.get('/home', async (ctx, next) => {ctx.response.body = '<h1>HOME page</h1>'
})router.get('/404', async (ctx, next) => {ctx.response.body = '<h1>404 Not Found</h1>'
})// 调用路由中间件app.use(router.routes())app.listen(3000, ()=>{console.log('server is running at http://localhost:3000')
})
路由方法
get | post | put | delete | del | all
*all代表匹配所有,一般放在中间件的末尾
重定向
router.redirect('/login', 'sign-in');
动态路由
router.get('/users/:id', (ctx, next) => {// ...
});
类似于vue-router,可以将参数直接以 /path/parma 的形式传递参数
路由参数被捕获并添加到ctx.params
router.get('/:category/:title', (ctx, next) => {console.log(ctx.params);// => { category: 'programming', title: 'how-to-node' }
});
命名路由
给路由命名,可以在开发过程中生成URl并重新命名URL
router.get('user', '/users/:id', (ctx, next) => {// ...
});router.url('user', 3);
// => "/users/3"
多个中间件
router.get('/users/:id',(ctx, next) => {return User.findOne(ctx.params.id).then(function(user) {ctx.user = user;next();});},ctx => {console.log(ctx.user);// => { id: 17, name: "Alex" }}
);
路由嵌套
var forums = new Router();
var posts = new Router();posts.get('/', (ctx, next) => {...});
posts.get('/:pid', (ctx, next) => {...});
forums.use('/forums/:fid/posts', posts.routes(), posts.allowedMethods());// responds to "/forums/123/posts" and "/forums/123/posts/123"
app.use(forums.routes());
路由前缀
类似于vue-router的子路由
var router = new Router({prefix: '/users'
});router.get('/', ...); // responds to "/users"
router.get('/:id', ...); // responds to "/users/:id"
这篇关于koa2初探(二)路由 koa-router的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!