NestJS?
Node.js 서버 앱을 구현하기 위한 프레임 워크
Node.js를 기반으로 Express 위에 구축되었기 때문에 Express를 기본적으로 사용이 가능하며 선택적으로 Fastify를 사용할 수 있다.
기본적으로 정형화된 모듈 구조를 'Decorator'를 통해 제공하며 TypeScript를 제공하기 때문에 Express 보다 유연성은 떨어지지만 서비스 확장과 유지보수에 유리하다는 점이 있다고 한다.
이외에도 서버 동작에 필수적인 기능을 기본적으로 포함하고 있기 때문에 빠르게 프로젝트를 시작할 수 있다.
취준을 하면서 Java 외의 언어에 대해서 견문을 넓혀보고 싶었다.
NestJS는 Spring의 Annotation과 비슷한 Decorator를 사용하며 대략적인 구조가 비슷해 흥미가 갔다.
설치
Node.js 기반이다 = Node.js가 필수다.
Node.js — Run JavaScript Everywhere
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
원하는 버전을 찾아서 깔거나 LTS 버전을 설치했다. ( 작성 시점 v22.14.0 )
잘 설치됐는지 확인은 cmd에서
node -v
버전 정보가 뜨면 설치 완료
Nest 설치는
npm i g @nestjs/cli
설치 확인은 nest --version을 써서 확인하면 된다. ( v11.0.4 )
프로젝트 생성은 먼저 원하는 디렉토리로 이동하자 ( cd 사용 )
nest new project
project에는 프로젝트 이름을 아무거나 작성하면 된다.
프로젝트를 에디터로 실행하면 src내에 기본적인 컨트롤러, 서비스 모듈이 이미 작성되어 있다.
package.json에 프로젝트에 대한 기본적인 설명과 실행 스크립트가 있다.
dev로 프로젝트 실행
yarn run start:dev
포트 번호는 기본 3000번 - localhost:3000으로 들어가서 Hello World!가 출력된다면 정상이다.
윈도우일 경우 확인!
외부 스크립트 실행 시 보안 정책으로 인해 오류가 발생할 수 있다.
Execution Policy와 관련된 에러가 발생할 경우
1. 파워쉘을 관리자 권한으로 실행
2. get-ExecutionPolicy 입력 - 나의 경우 Restricted로 되어 있었다.
3. set-ExecutionPolicy RemoteSigned
3.1 RemoteSigned 외에도 다른 정책이 있다. 나중에 찾아봐야지
'개인 공부' 카테고리의 다른 글
NestJS - DB 설정 (0) | 2025.03.24 |
---|---|
NestJS - Pipe 기본 (0) | 2025.03.10 |
NestJS - 게시판 제작 (1) (0) | 2025.02.25 |