NodeJS - 01. NPM / YARN
- 크롬 V8 Javascript 엔진으로 빌드 된 Javascript 런타임(플랫폼)
반응형
Node.js 특징
· 이벤트 기반(Event-Driven)
- libuv 라이브러리를 사용
- 이벤트 발생 시 사전에 정의한 작업(콜백함수)을 실행하고 이벤트가 종료되면 대기
※ 동시에 여러 이벤트가 발생하는 경우 이벤트 루프(Event loop)에 의해 작업(콜백 함수) 호출 순서 및 실행
· 비동기 I/O 모델 (Non-Blocking I/O Model)
- Node.js 라이브러리의 모든 API 처리는 비동기 방식으로 실행
· 단일 스레드(Single Thread)
- 단일 스레드 기반 이지만, Non-Blocking Model 방식(이벤트 루프)을 채택하고 있는 Node.js 는 제한적인 스레드를 생성하는 웹 서버(Apache) 보다 단일 스레드지만 더 많은 요청을 처리
※ 단 Node.js는 단일 스레드로 CPU 부하가 큰 작업에는 부적합
// @Example. Node.js 업데이트
// node js 현재 버전 확인
$node -v
// npm 캐시 제거
$npm cache clean -f
// node js 버전 관리 (n) 모듈 설치
$npm install -g n
// node js 버전 관리 (n) 모듈 통해 업데이트
n stable // 안정 버전
n lts // 최신 버전
n latest // lts 버전
n _VER_ // 특정 타겟 버전
NPM과 YARN
· 패키지 관리 툴
※ package.json 파일은 프로젝트 정보 및 의존성(dependencies) 관리하는 문서로, 동일한 개발 환경 구축에 편의성을 제공
※ 참조 : https://docs.npmjs.com/
NPM |
YARN |
· Node Package Manager · Javascript 언어를 위한 기본 패키지 관리자 |
· 페이스북(Facebook)에서 만든 Node Package Manager · npm과 동일한 기능을 하지만 속도(performance), 안정성(stability), 보안성(security) 면에서 npm 보다 이점을 제공 |
npm init package.json 생성 |
yarn init package.json 생성 |
npm install (npm i) package.json 파일 및 종속된 모든 모듈 설치 |
yarn install (yarn i) package.json 파일 및 종속된 모든 모듈 설치 |
npm install package_name@_VER_ 패키지(package_name )의 특정 버전(_VER_) 설치 |
yarn add package_name@_VER_ 패키지(package_name )의 특정 버전(_VER_) 설치 |
npm install -g package_name 전역 설치. 로컬 상태 다른 프로젝트도 해당 패키지(package_name)를 사용 가능 |
yarn add global package_name 전역 설치. 로컬 상태 다른 프로젝트도 해당 패키지(package_name)를 사용 가능 |
npm install package_name 특정 저장소의 패키지 설치 |
yarn add package_name 특정 저장소의 패키지 설치 |
npm uninstall package_name 패키지 삭제 |
yarn remove package_name 패키지 삭제 |
npm update package_name 패키지 업데이트 |
yarn upgrade package_name 패키지 업데이트 |
npm dedupe 중복 설치된 패키지 정리 |
yarn dedupe 중복 설치된 패키지 정리 |
YARN 장점
속도 (performance)
- yarn은 다운로드 받은 패키지를 캐시(cache)에 저장하여 중복되는 패키지(데이터)는 다운로드 하지 않고 캐시에 저장된 패키지(데이터)를 재사용하고, 여러 패키지를 설치할 경우 병렬로 처리하기 때문에 순차적으로 처리하는 npm에 비해 속도가 증가
안정성(stability)/보안성(security)
- yarn은 yarn.lock 또는 package.json 으로 부터 설치만 하고, yarn.lock은 모든 디바이스에 같은 패키지 설치를 보장하므로 패키지의 버전 차이로 인한 오류를 방지
NPX
- · npm 5.2^ 버전부터 포함된 모듈
- · 기존 npm을 통해 로컬에 설치(install)된 모듈만 실행시킬 수 있었지만 npx를 통해 모듈을 로컬에 저장하지 않고 매번 최신 버전의 파일만 임시로 불러와 실행 시키고 다시 파일은
없어지는 방식으로 모듈을 실행할 수 있게 됨
반응형
'Study' 카테고리의 다른 글
[STUDY] NodeJS - 02. EXPRESS (0) | 2022.06.22 |
---|---|
[STUDY] NodeJS - 01. NPM / YARN : JEST (0) | 2022.06.22 |
[STUDY] JS - 02. Javascript MVC (0) | 2022.06.22 |
[STUDY] JS - 01. Javascript 란 (0) | 2022.06.22 |
[STUDY] WEB - 02. 웹 구축 및 구동 방식 (0) | 2022.06.17 |
댓글