Node.js 기본 생태계 정리
Node.js는 단순히 "자바스크립트를 브라우저 밖에서 돌릴 수 있는 환경"을 넘어, 지금은 거대한 생태계를 구축하고 있다. 자바스크립트 하나로 백엔드, 프론트엔드, 데이터베이스까지 다루는 게 가능하다. 이번 글에서는 Node.js 생태계를 크게 나눠 정리해본다.
1. 런타임 (Runtime)
Node.js는 구글의 V8 자바스크립트 엔진 위에서 동작한다. 핵심은 이벤트 루프와 논블로킹 I/O 모델이다. 덕분에 수천 개의 네트워크 요청을 동시에 처리할 수 있어, 가볍고 빠른 서버 개발에 적합하다.
2. 패키지 관리
Node.js 생태계를 지탱하는 가장 큰 축은 패키지 매니저다.
- npm: 기본 패키지 매니저. Node.js 설치 시 함께 제공된다.
- Yarn: 페이스북이 만든 대체제. 속도와 안정성이 장점이다.
- pnpm: 최근 주목받는 대체제. 저장 공간 절약과 속도가 강점이다.
수백만 개의 라이브러리가 등록돼 있어, 필요한 기능을 직접 구현하지 않고도 빠르게 개발할 수 있다.
3. 프레임워크와 라이브러리
Node.js는 기본적으로 서버를 만들 수 있지만, 실무에서는 프레임워크를 활용하는 경우가 많다.
- Express.js: 가장 대중적인 웹 프레임워크. 라우팅과 미들웨어 관리에 특화.
- Koa, Fastify: Express보다 더 가볍고 모듈화된 선택지.
- NestJS: TypeScript 기반 서버 프레임워크. 대규모 프로젝트에 적합.
프론트엔드와도 연결이 쉽다. React, Vue, Angular 같은 프론트엔드 프레임워크와 API 서버로 함께 쓰인다.
4. 데이터베이스 연동
Node.js는 다양한 데이터베이스와 연동할 수 있다.
- SQL 계열: MySQL, PostgreSQL → Sequelize, TypeORM 같은 ORM 사용.
- NoSQL 계열: MongoDB → Mongoose 같은 ODM 사용.
5. 테스트 · 빌드 · 배포
개발 효율성을 높이는 툴들도 생태계의 중요한 부분이다.
- 테스트: Jest, Mocha, Chai
- 빌드 도구: Webpack, Vite, Parcel
- 배포: Docker, Kubernetes, AWS Lambda 등과 쉽게 연동 가능
6. 개발 보조 툴
- nodemon: 코드 수정 시 자동 재실행
- eslint / prettier: 코드 스타일 관리
- ts-node: TypeScript 실행 환경 지원
'STUDY > [ NodeJs ]' 카테고리의 다른 글
| npm을 이용해 오픈소스 배포하기 (0) | 2026.01.10 |
|---|---|
| 0918 map 객체 express (0) | 2025.09.18 |
| 0915 HTTP EXPRESSSSS (0) | 2025.09.15 |
| NodeJS 동작원리 (0) | 2025.09.14 |
| HTTP method / NodeJS / 모듈, 라이브러리, 프레임워크 (0) | 2025.09.14 |