koa2初探(二)路由 koa-router

2023-11-05 10:38
文章标签 路由 router koa 初探 koa2

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349273

相关文章

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

vue中路由管理(vue-router,page)使用总结

现在的项目都以模块化的方式去开发,所以在这样的开发模式下,如何更好的去管理路由是开发中所需要考虑的重点,幸运的是当前的开发中已经有了成熟的中间件去管理,我们只需要用就可以了 下面是我在学习vue-router的时候在原来基础上修改出来的demo,也是为了有助于对vue-router的理解 首先理解下vue官网的一个示例demo https://jsfiddle.net/yyx990803/x

HCIA--实验十:路由的递归特性

递归路由的理解 一、实验内容 1.需求/要求: 使用4台路由器,在AR1和AR4上分别配置一个LOOPBACK接口,根据路由的递归特性,写一系列的静态路由实现让1.1.1.1和4.4.4.4的双向通信。 二、实验过程 1.拓扑图: 2.步骤: (下列命令行可以直接复制在ensp) 1.如拓扑图所示,配置各路由器的基本信息: 各接口的ip地址及子网掩码,给AR1和AR4分别配置

Java注解初探

什么是注解 注解(Annotation)是从JDK5开始引入的一个概念,其实就是代码里的一种特殊标记。这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。有了注解,就可以减少配置文件,现在越来越多的框架已经大量使用注解,而减少了XML配置文件的使用,尤其是Spring,已经将注解玩到了极致。 注解与XML配置各有

微信小程序路由跳转之间的区别

navigateTo: 功能描述: navigateTo用于保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。 页面栈变化: 当使用navigateTo进行页面跳转时,当前页面会被推入页面栈中,但不会被销毁,新页面则显示在屏幕上。因此,页面栈中的元素数量会增加。 注意:一般定制返回时候不要用navigateTo,用navigateBack,否则会导致页面栈过多。 nav

如何为 DigitalOcean 静态路由操作员设置故障转移

静态路由操作器的主要目的是提供更大的灵活性,并在 Kubernetes 环境中控制网络流量。它使你能够根据应用程序的需求自定义路由配置,从而优化网络性能。该操作器作为 DaemonSet 部署,因此将在你的 DigitalOcean Managed Kubernetes 集群的每个节点上运行。 在本教程中,你将学习如何根据 CRD 规范管理每个工作节点的路由表,并设置故障转移网关。

若依框架登录鉴权详解(动态路由)

若依框架登录鉴权:1.获取token(过期在响应拦截器中实现),2.基于RBAC模型获取用户、角色和权限信息(在路由前置守卫),3.根据用户权限动态生成(从字符串->组件,根据permission添加动态路由信息)和添加路由addRoutes(在路由前置守卫) 若依框架(Ruoyi)后端的登录权限身份认证流程是一个复杂但高效的过程,它确保了系统的安全性和数据的保护。以下是一个典型的若依

Vue - 关于Router路由跳转时显示的animate.css动画

Vue - 关于Router路由跳转时显示的animate.css动画 在Vue中,操作路由跳转时页面是闪白的,没有动画效果,我们可以通过在router-view中设置transition,并搭配animate丰富的动画效果来美化路由跳转时的显示效果. 1.安装animate npm i -S animate.css 2.在main中引入animate.css import 'anim

Avoided redundant navigation to current location: 路由相同报错

vue-router有一个内置保护机制,它会阻止不必要的重复导航,以提高性能并避免不必要的计算。 具体来说,错误信息中的就是试图访问的路径时,应用程序已经在当前这个路径上。因此,vue-router检测到了这个重复的导航请求,就发出了警告。 通常情况下,这种警告并不需要特别处理,因为这只是一个优化措施,防止不必要的导航。但是如果你频繁遇到这种情况,可能需要检查触发导航的部分代码逻辑是否有必要进

直接路由配置集群通信---------通过quagga 动态添加服务器路由规则

上一篇微博提到关于使用直接路由的方式配置集群通信,其优点很明确,简单易懂,但是缺点也是不容忽视的。假设一下,你的集群里面有100甚至是上千个node,在每个服务器上,你都得去配置到其他所有node的静态路由,其工作量是庞大切枯燥的。 这里我详细介绍一下,使用quagga来动态添加路由规则。软件主页http://www.quagga.net。 最简单的方式当然是直接在每台服务器上安装quagga