node.js 정의
chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
- JavaScript가 동작할 수 있는 브라우저 이외의 환경
- Node.js가 서버 구현에 많이 사용되지만 서버는 아님
웹브라우저의 동작 과정

렌더링 : HTML, CSS, JavaScript가 브라우저를 통해 화면에 출력이 되는 과정
- HTML. CSS : 브라우저 내에 있는 렌더링 엔진을 통해 해석
- JavaScript : 브라우저 내에 있는 자바스크립트 엔진을 통해 해석

- 자바스크립트 엔진 중 크롬 V8엔진을 기반으로 node.js 생성
- 특징
- 빠른 속도
- 독립적인 실행
JavaScript 런타임 = JavaScript가 동작할 수 있는 환경
JavaScript
- HTML 요소를 조작하기 위한 언어
- 브라우저에서 동작하며 HTML 요소들을 조작하는 언어
브라우저 = 자바스크입트의 런타임
- 초기에는 only 브라우저 JS의 런타임 이었으나 -> node.js 생성으로 브라우저이외에 환경이 생성됨
node.js 특징
1. 구조


2. 확장성
: 개발환경에서 프로젝트의 확장을 쉽게 할 수 있다는 특징

왜 확장이 쉽게 가능해?
- node.js에서 제공하는 NPM 툴을 이용하기 때문에 가능
NPM : Node Package Manager
- 설치, 삭제 관리를 통합적으로 도와주는 도구
- 다양한 내부, 외부 모듈 (패키지) 사용이 가능 = 필요한 기능들이 미리 구현된 경우가 多 = 사용 용이
- Node.js 개발을 돕는 nvm, npx, yarn등의 다양한 툴 이용 가능
npm vs nvm vs npx vs yarn
1. npm(Node Package Manager)
- Node.js로 개발된 패키지를 설치, 업데이트, 삭제할 수 있게 도와주는 툴
2. nvm(Node Version Manager)
- 특정 버전의 Node.js를 설치하기 위한 툴
3. npx
- npm을 관리하기 위한 모듈
4. yarn
- 페이스북에서 만든 패키지 툴 (npm과 같은 기능을 수행)
'Node.js' 카테고리의 다른 글
[Node.js] SERVER 구조 / HTTP, URL, DNS (2) | 2023.12.05 |
---|---|
[Node.js] node.js 설치/ REPL모드, JS파일 모드 사용해보기 (2) | 2023.12.05 |