브라우저 환경: HTML + CSS + JS를 실행해 웹페이지를 브라우저 화면에 렌더링 하는 것이 목적이며, 파싱된 HTML요소를 선택하거나 조작하는 기능의 집합인 API를 기본적으로 제공한다. 그러나 웹 어플리케이션의 자바스크립트는 사용자 컴퓨터의 브라우저에서 동작하기 때문에 보안상의 이유로 브라우저 환경의 자바스크립트는 파일시스템을 제공하지 않는다.
Node.js 환경: 브라우저 외부에서 자바스크립트 개발 환경을 제공하는 것이 주 목적이며, 브라우저 외부 환경에서는 DOM을 다룰 필요가 없어 API를 제공하지 않지만 파일을 생성하고 수정하는 파일 시스템을 기본 제공한다.
3.3.1 Node.js와 npm 소개
node.js: 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
npm: 자바스크립트의 패키지 매니저로 Node.js에서 사용할 수 있는 모듈들을 패키지화해서 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI를 제공한다.