1. 为什么要命名路由?
在实际的项目开发中,由于项目的功能和处理的业务逻辑过于复杂,我们不可能把所有的接口请求处理逻辑全部写在index.js,这样一来使得项目难以维护管理,单文件过于庞大和复杂,所以就有了命名路由的需要,我们可以根据不同的处理业务,将相同的接口业务逻辑封装在一个单独的文件中,方便项目维护管理,使得文件处理功能逻辑单一。
2. koa-router 简单示例
- koa-router安装:npm install @koa/router 或 yarn add @koa/router
- 关于版本:当前说明版本为:10.1.1
- koa-router基本用法:
3. koa-router命名路由详解
之前一直在使用express框架,但是基于回调的处理异步形式很是让人苦恼,所以决定在新项目中使用koa2框架,基于async/await的处理异步方式确实对开发人员很友好。
相比koa2,express自带了静态资源处理服务、路由中间件,koa在使用以上这些,都需要开发人员自己解决,或者npm下载第三方中间件使用,koa-router就是一个为提供koa2路由流行度很高的一个中间件。
关于命名路由的用法,网上关于koa-router的介绍文章不多,于是就尝试着看koa-router英文文档,也翻看了部分koa-router源码,在此将命名路由的用法做个介绍说明,仅供交流学习,如有不对之处,欢迎评论交流。
- 项目工程根目录新建routes文件夹,用以存放router模块
- 在routes文件夹下,新建两个示例文件:
-
user.js-用来处理和用户相关的接口业务逻辑;
-
info.js-用来处理和动态信息相关接口业务逻辑;
user.js
-
info.js
- 在index.js 入口文件注册以上两个路由中间件
在以上路由命名中,分别命名user和info两个路由模块,所有的请求路径以user开头请求,全部交由user.js处理相应请求业务逻辑,如:http://localhost:3000/user,http://localhost:3000/user/name; 所有请求以路径以info开头的请求,全部交由info.js文件处理相应接口请求业务逻辑,如:http://localhost:3000/info, http://localhost:3000/info/name
4. 总结
至此关于koa-router命名路由用法已做详细说明,如有问题,欢迎评论交流!!!