React- Node.js / npm
React- Node.js / npm
리액트 프로젝트를 시작하기 위해선 Node.js 를 설치해야 한다.
그림 1-1 구글 chrome 의 v8 javascript 엔진과, 동 엔진을 기반으로 만든 Node.jsJavaScript 는 웹 브라우저에서 동작하기 위한 언어로 탄생 했다. 때문에 JS 의 실행환경인 각 브라우저마다 JS 를 해석하고 실행 할 수 있는 엔진이 있는데 , 대표적으로 구글 chrome 의 v8 엔진이 있다.
웹 개발 시장이 커지고 js 를 다룰 줄 아는 개발자가 늘어나면서, 웹 브라우저 이외의 환경에서도 js 를 이용해 개발하고자 하는 니즈가 생겨났고, 이에 탄생한 것이 구글 chrome 의 v8 엔진 기반으로 만들어진 Node.js 이다.
즉, Node.js 는 자바스크립트가 브라우저 밖에서도 동작하게 하는 자바스크립트 실행 환경이며 이는 자바스크립트의 “탈 웹” 이라고도 한다.
React Application 은 웹 브라우저에서 실행되기 때문에 Node.js 와 직접적인 연관은 없지만, 리액트 이외에 프로젝트를 개발하는 데 필요한 주요 도구들 (e.g. Babel, Webpack, etc) 은 웹 브라우저가 아닌 우리의 작업 환경에서 동작해야 하기 때문에 반드시 Node.js 를 설치해야 한다.
Npm
Node.js 를 설치하면, Node.js 환경에서 사용할 수 있는 패키지들을 관리 할 수 있는 도구인 NPM ( node package manager ) 도 함께 설치된다.
여기서 패키지란 Node.js 환경에서 실행할 수 있는 프로그램들을 뜻하며, npm 을 통해 개발에 필요한 다양한 패키지를 설치하고 버전을 관리 할 수 있다.
Node.js 와 npm 의 역할을 스마트폰에 비교하면 Node.js 는 IOS 에서 사용할 수 있는 프로그램들을 다운로드, 업데이트, 삭제하는 APP STORE 라고 할 수 있다.
터미널에서 npm 키워드로 시작하는 명령어를 통해 패키지를 관리할 수 있다.
설치
Node.js 홈페이지에 접속해서 다운로드 항목을 확인하면, Node.js 는 (Long Term Support) 버전과 현재 버전으로 나뉜다.
LTS 버전은 말 그대로 오랜 기간 지원이 가능한 버전으로, 어느정도 안정성이 입증되어 취약점, 개선사항에 대한 패치를 보증하는 버전이다.
현재 버전은 최신 기능을 탑재한 버전이긴하나, 아직 안정성이 입증되지 않았기 때문에 해당 버전에 존재하는 기능이 패치를 통해 사라지거나 변경되어 새로 코드를 작성해야 할 가능성이 존재하는 버전이다.
이러한 이유로 내가 지금 작성하고 있는 코드가 나중에도 정상적으로 동작하는 것이 보증되는 LTS 버전을 설치하는 것이 좋을 듯 하다.
(macOS 의 패키지 매니저인 HomeBrew 로 설치하면 현재 버전이 설치되기 때문에 설치 이후 LTS 버전으로 변경하는 과정이 더 필요하다. 때문에 HomeBrew 로 설치하는 것은 지양하는것이 좋다. )
설치 확인
Node.js 설치 후에 터미널에 node-v, npm-v 를 입력 후 버전을 확인한다. 버전 정보가 뜬다면 제대로 설치가 되었다는 뜻이다.
정리
- Node.js 는 자바스크립트가 브라우저 박에서도 동작하게 하는 실행환경이다.
- Node.js 설치 시 함께 설치되는 npm 은 Node.js 환경에서 사용할 수 있는 패키지들을 관리 할 수 있는 도구이다.