基于 Express + Typescript 的注解式插件
安装
npm i qzx-controller-express --save
使用
;;appuse...;
思想
http
的请求多种多样,一般来讲我们都是在路由里面通过路径去匹配。这种方式简单。
然而,随着项目的复杂度的增加,这种方式的可维护性就会下降很多,开发经常性的会遇到一个问题就是不知道去哪里找对应的处理请求。
很多时候,越是复合直觉的其实越简单
在这个基础上,阿里的egg.js
框架就提出了,约定往往更加重要,阿里的约定就是各种 controller/service 自动装载。
不过,自动装载其实有点浪费,需要一次性加载所有的路由文件。
按路径加载
我们的这个插件做了一些改变,不是自动装配,也不是在文件里写死路由,而是直接通过请求路径去匹配请求。这很符合 rest 请求的第一直觉。每个路径就相当于一个资源,一个屋子,一个文件夹。
---src ---routers ---test.ts
假设有如上的一个文件: test.ts
, 你可以这么写
;;
GET /test/ttt
=> 'ccc'
GET /test/ttt?name=123
=> '123'
POST /test/ttt?name=123
body {sss: 1111} => '1231111'
GET /test/aaa
=> 'bbb'
GET /test/asd/qianzhixiang/dd/1
- 1: qianzhixiang