[React] node.js , npm, npx, yarn 이란??
1_ node. js 란?
node.js는 간단히 말하면 자바스크립트를 실행 할 수 있는 환경이다.
node.js를 사용하여 운영체제, 웹브라우저 밖등 환경만 갖추어져 있다면 JS로 코드 작성 및 실행을 가능하게 해준다.
즉 운영체제에서 내 파일을 읽고 수정이 가능하며 저장하는 일이 가능하게 도와주는 프레임 워크라고 할 수 있다.
2._ npm이란?
node.js를 설치하다보면 딸려오는게 있는데 npm이 같이 설치 되어진다.
npm의 경우 패키지 매니저라 불린다.
우리가 프로젝트를 하다보면 외부 라이브러리가 필요한 경우 소스코드를 다운받아서 사용해야 하는 경우가 많은데
npm의 경우 일일이 찾아 import해서 사용하는 번거로움을 없애 주었으며
project build를 하면 pakage.json의 형태로 필요한 기본 라이브러리가 설치되어 관리되어 진다.
ex) $ npm install [moduleName] , $npm install express etc...
위와 같은 형태로 필요한 라이브러리를 명령어 하나로 설치, 업데이트, 삭제가 가능하다.
3._ npx란?
npx의 경우 npm과 약간(?) 다르다고 볼 수 있다.
npx의 경우 원하는 라이브러리를 npm처럼 설치하는 것이 아닌 실행할 수 있게 도와주는 역할을 한다.
ex) $ npx react-native run-ios, $ npx react-native run-andorid etc ... // npx [some-pakage]
위의 명령의 경우 ios , andorid 시뮬레이터를 실행시키는 명령어다.
4._yarn이란?
react로 작업하면서 npm보다는 yarn을 사용하여 프로젝트를 빌드하는 편이다.
우선 yarn은 페이스북에서 만든 패키지 매니저 이다.
npm 보다 조금 더 성능이 개선 되었고, npm을 사용하다보면, 속도 , 성능, 버전관리등 아쉬운점이 많은데
이런 것들을 보완하기 위해 페이스북에서 만든거라고 할 수 있다.
yarn과 같은 경우 npm과 같이 동작하기 때문에 npm에서 package.json 형태를 유지하면서 사용되어진다.
사실 yarn을 쓰든 npm을 쓰든 크게 상관은 없지만 프로젝트 빌드 하고 만들다 보면
yarn 명령어를 통한 설치도 비교적 빠르고 뭔가 잡다한(?) 오류도 덜하고 보안도 좋아서 yarn을 선호하는 편이다.