前言
在node项目,不管是koa/express路由的使用中,我们创建路由一般都是这样的姿势
router.post("/api/test", middleware, handler); // 创建路由
比如:
我们一般创建路由的handler会单独抽到其它文件也就是所说的controller,这样就会多了一步编写router的过程。那么这一步是否可以省略呢?
当然可以,本文带你一步步使用装饰器统一处理构建路由,这样不用在写完某一个controller的方法后再进行创建router啦,使用装饰器,我们只需要在某一个接口方法上添加路由的装饰就可以进行创建router。那么精彩来啦~
项目结构
开始啦,一步步教你使用装饰器构建路由喽!
初始化项目
初始化package.json
新建一个目录,用vscode打开。执行npm init初始化创建package.json
安装koa项目使用的第三方包:
npm install -S koa koa-router koa-bodyparser koa-compress
koa-router 管理路由
koa-bodyparser 读取post,put数据转化对象格式
koa-compress 压缩请求数据提高传输速度
配置babel支持ES6 ES7
因为项目使用装饰器配置路由,必须支持ES7语法,才需要配置babel
本文配置的是babel7版本
下面我带大家一步步配置babel
npm install -D @babel/core
npm install -D @babel/preset-env
npm install -D @babel/plugin-proposal-decorators
npm install -D @babel/register
babel7版本 使用的是@babel,7以下是babel-xxx 这点很容易区分
下面介绍一下这些包的功能
@babel/core babel 核心代码
@babel/preset-env 编译新版的语法 如:箭头函数&