Node.js는 Chrom V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.
런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다.
HTML은 자바스크립트가 조작한다면, 자바스크립트 해석은 브라우저가 한다. 브라우저에는 자바스크립트 해석 엔진이 있다. 따라서 기존에는 자바스크립트를 인터넷 브라우저에서만 실행할 수 있었는데, 구글이 2008년 V8 엔진을 사용하여 크롬을 출시했다. V8 엔진이 너무 뛰어나서 기능을 더한 뒤 V8 엔진 기반에 노드 프로젝트를 시작했고, Node.js가 등장했다. Node.js는 브라우저 내에서 말고도 다른 환경에서도 자바스크립트를 사용할 수 있게 해 준다.
본래 자바스크립트는 웹 페이지 내부에 필요한 아주 단순한 기능만을 개발하기 위해 만들어진 언어이다. 하지만 자바스크립트를 만든 후, 매우 유연하게 설계되었고 생산성이 매우 높아 웹 브라우저 밖에서도 쓰게끔 하는 요청이나, 웹 서버도 만들고 싶다는 요청이 많아서 출시된 게 Node.js라고 생각하면 좋다.
따라서 **Node.js는 자바스크립트 실행 환경(런타임)**이다.
이를 설치하면 브라우저를 키지 않아도 자바스크립트를 컴퓨터에서 수행할 수 있게 한다.
React.js, Next.js, Vue.js, Svelte 등 모두 Node.js를 기반으로 만들어졌기 때문에 그 이상을 배우기 전 Node.js에 대해서 학습해야 한다.
Node.js에서 프로젝트는 패키지라는 단어로 명명한다. 보통 프로젝트는 특정 목적을 갖는 프로그램의 단위를 의미한다. Node.js에서는 프로그램 단위로 패키지를 사용한다.
Node.js를 사용하기 전 VScode terminal에서 npm init 을 입력한다.
(npm은 Node Package Manager의 약자이다.)
{
"name": "section03",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \\"Error: no test specified\\" && exit 1"
},
"author": "",
"license": "ISC",
"description": ""
}
그러면 이런 식으로 package.json 파일이 폴더에 추가된다.
terminal에 node (실행할 파일명) 을 입력하면 프로그램이 실행된다.
만약 파일의 경로가 복잡할 경우, 명령어를 입력할 때 힘들기 때문에 패키지 단위로 묶어서 사용하면 편리하다.