Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
이다.
여기서 언급되는 런타임
의 의미는 프로그램이 실행되고 있는 동작을 의미하는데 좀더 정확히 말하자면 런타임환경을 언급해야하는것이 이해하기 좋다고 생각한다.
지금까지 JS코드들을 브라우저 위에서 돌렸다.
이제 Node.js를 통해 브라우저 이외에 로컬환경에서도 돌릴 수 있게 된 것이다.
즉, 자바스크립트 코드를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 환경을 제공해주는 것이 Node.js인 것이다.
현재 실행프로세스 관련기능 제공
arch, argv, env 등 실행 환경 및 변수
관련 값 제공
abort, kill, exit 등 프로세스 동작
관련 함수 제공
파일 입출력
관련기능 제공
readFile, writeFile 함수로 파일 읽기, 쓰기
watch로 파일/ 디렉토리 변경 이벤트 감지
http 서버, 클라이언트를 위해 사용
createServer 함수로 서버 인스턴스 생성
listen 함수로 서버를 클라이언트 요청 대기 상태로 만듬
url, os, Path, crypto ...
https://nodejs.org/dist/latest-v17.x/docs/api/
노드의 많은 웹 프레임워크 중에 Express를 사용한 이유는 다음과 같다.