1. tsoa - https://github.com/lukeautry/tsoa
2. Trafficlight - https://github.com/swimlane/trafficlight
3. routing-controllers - https://github.com/typestack/routing-controllers
4. nest.js(추가함) - https://nestjs.com/
셋 중에 난 3번 routing-controllers를 선택했다. star도 많고 코드가 제일 깔끔해보였다. 그리고 이미 typedi하고 연계를 잘 해놔써 typedi를 쓰는 내가 선택할 건 3번 뿐이긴 했다. 혹시나 DI 중에 inversify를 사용한다면 1번 tosa도 고려해볼만 하다. swagger도 지원되고 좋은 듯 싶다. 하지만 난 typeorm과 type-graphql를 쓰고 있어서 세가지 라이브러리들이 공통적으로 지원하는 typedi를 사용하려면 routing-controllers밖에 없었다 ㅋㅋ
단점이라고 해야 하나 아직 reflect가 덜 지원되서 그런가 decorator(@Get @Post 등) 상속이 안 되는 듯 싶다. 공통 Controller를 디자인해서 상속받아 쓰게 하고 싶었지만 부모 클래스의 Decorator를 가져오기도 힘들고 뭔가 잘 안 된다ㅠㅠ
그리고 trafficlight는 이름을 정말 잘 지은 멋진 라이브러리인 것 같다. 신기한 건 swimlane에서 만들고 있는 라우팅 컨트롤러이다. 이 집단은 뭐지 angular 관련 라이브러리도 많이 만들고 대체 뭐하는 단체인지 대단하다. 이제 라우팅쪽까지 ㅎㄷㄷ
ps. 지금은 nest.js 사용 중....;; nest.js에 대한 포스팅은 프로젝트 끝나고 시간 날 때 작성할 생각이다.
'Development > Javascript' 카테고리의 다른 글
async/await로 Promise를 사용하면서 reject을 try/catch로 잡을 때 주의할 점 (0) | 2018.11.02 |
---|---|
[Angular] Angular Input disabled 방법 (0) | 2018.08.01 |
[Angular] Grid Layout component (0) | 2018.06.22 |
[Momentjs] format (0) | 2017.12.16 |
[Angular] formGroup 관련 에러 (0) | 2017.10.26 |