Express.js 에서 Nest.js 로 넘어가기

Express.js 로 작성된 앱을 Nest.js 로 마이그레이션 하는 과정을 정리한다.

마이그레이션 이유

Express.jsNest.js 는 모두 Node.js 기반의 백엔드 프레임워크이다.
Express.js 도 충분히 좋은 프레임워크이지만 Nest.js 를 사용해 보고 나니 Nest.js 의 좋은 점이 많아 마이그레이션을 결정했다.

  • TypeScript 및 타입 지원 Nest.js 는 JavaScript 로 작성된 Express.js 와는 다르게 처음부터 TypeScript 로 작성되었다. 그렇다 보니 더욱 타입에 친화적이고 타입 지원이 잘 되어 있다. 이는 런타입 에러를 미리 방지할 수 있어 개발자의 실수를 줄여주고, 디버깅을 더 쉽게 해준다. 그리고 자동완성이 된다.
  • 구조 Nest.js 는 Express.js 와는 다르게 구조가 잘 잡혀있다. 물론 구조가 단단하면 그만큼 자율성이 떨어지지만, 프레임워크를 사용하는 이유는 구조를 잡아주기 위함이라고 생각한다.

Nest.js 설치하기

먼저 전역으로 Nest.js CLI 를 설치한다.

npm i -g @nestjs/cli

Nest.js 프로젝트 생성하기

그리고 기존의 Express.js 프로젝트의 경로롤 이동해 다음 파일들을 삭제한다.

  • package.json
  • package-lock.json
  • tsconfig.json
  • README.md

상기한 파일 외에도 프로젝트 생성 시 이름이 겹쳐 오류가 발생한다면 해당 파일들도 삭제해주자.
그리고 다음 명령어를 실행해 Nest.js 프로젝트를 생성한다.

nest new .

그럼 위에서 삭제한 파일이 다시 생성될 것이다.
README.md 같은 파일은 git을 이용해 이전 내용을 복구해주자.
그리고 package.json, tsconfig.json 파일도 이전 내용을 복구가 필요한 내용이 있는 경우 복구해주자.

Nest.js 프로젝트 실행하기

Nest.js 프로젝트를 실행해보자.
개발용 실행 명령은 start:dev 이다.

npm run start:dev

만약 기존 프로젝트 파일과 충돌이 발생한다면 git 을 통해 기존 프로젝트에서 변경된 내용 중 필요한 부분을 복구해주자.
문제 없이 실행된다면 http://localhost:3000 으로 접속해보자.
앱이 잘 실행되고 있다면 Hello World! 가 보일 것이다.
이제 기존 Express.js 프로젝트의 코드를 Nest.js 프로젝트로 옮겨주면 된다.


© 2021. All rights reserved.

Powered by Hydejack v7.5.2