Express.js 에서 Nest.js 로 넘어가기
on Express.js, Nest.js, Typescript
마이그레이션 이유
Express.js 과 Nest.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 프로젝트로 옮겨주면 된다.