koa-router模块

2024-06-18 17:32
文章标签 模块 router koa

本文主要是介绍koa-router模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

koa必不可少的路由处理中间件,之前使用过koa-route模块,用法和koa-router大致一样,但是没有koa-router强大,并且网上很多文章都是关于koa-router的,建议新手移步koa-router

下载

cnpm i koa-router -S

使用

const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
const main = ctx => {ctx.body = 'Hello Koa';
}
router.get('/', main);
// 注册并使用routers启动路由
app.use(router.routes())
// 自动丰富response相应头,当未设置响应状态的时候自动设置,在所有路由中间件最后设置,也可以设置具体某一个路由,例如:router.get('/index', router.allowedMethods());这相当于当访问/index时才设置
.use(router.allowedMethods())
.listen(3000);

参数处理

const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
// 单个参数
const main = ctx => {
// http://127.0.0.1:3000/123
console.log(ctx.params); // {id: 123}ctx.body = 'Hello Koa';
}
// 多个参数
//const main = ctx => {// http://127.0.0.1:3000/123/456//console.log(ctx.params); // {id: 123, uid: 456}//ctx.body = 'Hello Koa';
//}
router.get('/:id/:uid', main);
// 注册并使用routers启动路由
app.use(router.routes())
.use(router.allowedMethods())
.listen(3000);

路由封装

当项目庞大,路由非常多时,app.js就会变得特别臃肿,特此做以下封装

例:index.js

const Router = require('koa-router');
const router = new Router();
router.get('/', (ctx, next) => {
ctx.body = 'index';
// next()函数,当执行next将会从这里主动把执行权交给下一个中间件,也就是下一个路由next();
});
module.exports = router.routes();

总路由配置文件router.js

const Router = require('koa-router');
const router = new Router();
const index = require('./routes/index.js');
const about = require('./routes/about.js');
router.use('/', index);
router.use('/about', about);
module.exports = router;

app.js

const router = require('./router.js');
app.use(router.routes())
.use(router.allowedMethods())
.listen(3000);

这篇关于koa-router模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

python内置模块datetime.time类详细介绍

​​​​​​​Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。 ----------动动小手,非常感谢各位的点赞收藏和关注。----------- 使用datet

C8T6超绝模块--EXTI

C8T6超绝模块–EXTI 大纲 控制流程结构体分析EXTI实现按键 具体案例 控制流程 这里是流程框图,具体可以去看我STM32专栏的EXTI的具体分析 结构体分析 typedef struct {uint32_t EXTI_Line; // 中断/事件线EXTIMode_TypeDef EXTI_Mode; // EXTI 模式EXTITrigger_TypeDef EXTI_

1、创建多模块的maven springboot项目

现在的java的项目都是多模块的,这次也跟个风。 目标:实现下述结构 项目AcedBoot, 子模块:         aced-api 对外提供接口,         aced-web 给前端提供接口,         aced-service 服务层,         aced-dao 数据底层,包含数据库mapper和实体类entity,         aced-commo

【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 说

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

PrestaShop免费模块/插件/扩展/工具下载

PrestaShop免费模块/插件/扩展/工具下载 PrestaShop免费模块 适用于您的电子商务网站的PrestaShop模块 现有超过3,000个PrestaShop模块可帮助您自定义在线商店,增加流量,提高转化率并建立客户忠诚度。 使您的电子商务网站成功! 下载(超过142+之多的PrestaShop官网认证的免费模块) 标签PrestaShop免费, PrestaShop免费工