Node.JS의 패키지 관리자

Seung·2022년 3월 6일
0

😄 Node.JS

  • 자바스크립트를 서버에서 실행할 수 있게 해주는 프레임워크

  • 기본적으로 자바스크립트는 독립적인 언어가 아닌 스크립트 언어이므로 브라우저 안에서만 동작을 한다 (즉 자바스크립트는 웹 브라우저가 없으면 사용 할 수 없다)

    • Node.Js는 이러한 자바스크립트를 브라우저에서 독립시킨 것으로 브라우저 없이 바로 실행 할 수 있게 한다 (단지 자바스크립트와 브라우저를 분리만 한것이기 때문에 문법은 동일)

결론은 Node.JS는 어느 곳에서나 자바스크립트로 프로그래밍이 가능하게 도와주는 프레임워크이다


😄 NPM

  • Node Package Manager (자바스크립트를 위한 패키지 관리자)

  • Node.JS를 설치하면 자동적으로 NPM이 설치되며 터미널에서 npm -v 명령어를 통해 정상적으로 설치되었는지 확인할 수 있다

  • 외부 라이브러리를 쉽게 관리할 수 있게 도와준다

  • 추가된 라이브러리의 정보는 package.json에 저장되며 라이브러리들은 node_modules에 표시된다

결론은 NPM이 없었을 때는 라이브러리를 추가하기 위해 직접 작성하거나 깃허브를 통해 다운로드 하는 등 불편사항이 있었지만 NPM의 등장으로 명령어 하나로 간편하게 라이브러리를 설치, 삭제 등 관리 할 수 있게 되었다


😄 YARN

  • 페이스북에서 만든 Package Manager

  • NPM과 호환되며 NPM보다 성능, 보안, 안전성 등이 향상되었다

  • yarn start : 작성한 코드를 직접 확인할 수 있도록 현재 프로젝트를 실행 (리액트 앱은 항상 yarn start로 실행해야 한다)

  • yarn build : 브라우저는 개발자가 작성한 코드들을 한번에 이해하지 못하기 때문에 빌드 과정을 통해 브라우저가 이해할 수 있게 만들고 이후 배포 (yarn build시 생성된 build 폴더 안에 index.html과 index.js가 연결된다)

  • yarn test : 작성한 유닛 테스트를 실행해서 테스트 성공여부를 실행

  • yarn eject : create-react-app는 툴들을 자동으로 설치하고 한 공간 안에 둔다. (이 공간에 있는 툴들을 확인하고 수정하고 싶을 때 사용하는 명령어)
    주의사항
    공간을 한번 열어서 꺼내게 되면 다시 되돌릴 수 없다 (되돌릴려면 프로젝트를 지우고 처음부터 다시 시작해야 한다)

  • yarn start 또는 npm start 명령어 사용시 package.json에 있는 react scripts가 실행이 되면서 필요한 설정(configuration)과 package.json에 포함되어 있지 않은 다른 dependencies를 함께 포함해서 실행하고 빌드를 한다

결론은 YARN도 NPM 대비 용량을 많이 차지한다는 단점이 있고 NPM도 계속 개선된 버전이 나오고 있으므로 무조건 YARN!!을 선택할 것이 아니라 본인 프로젝트 환경에 맞게 선택하는 것이 좋다


😍 코드 지적은 언제나 환영입니다. 읽어주셔서 감사합니다. 😍

profile
지적은 제 발전의 원동력입니다. 사소한 것이라도 지적해주세요 :)

0개의 댓글