NPM
NPM (Node Package Manager)는 전 세계 개발자들이 만든 다양한 기능(패키지,모듈)들을 관리하는 것으로 node js를 설치함과 동시에 사용할 수 있다. npm 명령어는 여러 플래그flag와 사용된다.
📍 패키지 관리 시작
$ npm init -y
-> pakage.json파일이 생성됨
📍 패키지 설치
parcel-bundler 설치
*D 플래그 : 개발용으로 설치 (--save-dev)
$ npm install parcel-bundler -D
-> node_modules폴더와 package-lock.json파일 생성됨
lodash 설치
$ npm install lodash
📍 package.json
package.json파일에서 패키지가 관리되고 있어서 node_modules폴더를 지워도 npm install로 언제든지 해당 패키지 설치 가능하다.
$ npm install
$ nmp i // install의 약어 i만 입력해도 설치
package.json과 package-lock.json *절대 지우면 안 되는 파일
npm 생태계에서 필요한 패키지를 npm install로 프로젝트에 설치가 가능하다. 특정 패키지만 설치되어도 그 내부에서 사용되는 패키지는 package-lock.json파일이 자동으로 관리를 해준다.
📍 관리 시 주의사항
npm으로 프로젝트를 관리할 때 주의할 점
여러 패키지를 설치하면 node_modules폴더 안으로 들어가고 package.json에 명시가 된다. 그 패키지의 세부사항은 package-lock.json에 명시되므로 두 파일은 지워서는 안 되는 반면 .cache나 dist, node_modules폴더는 따로 버전으로 관리하지 않아도 된다. 언제든지 똑같은 형태로 생성될 수 있으며 불필요하게 많은 파일 용량을 가진 폴더들을 모두 깃에서 버전관리를 한다면 오히려 효율이 떨어진다.
.gitignore라는 이름의 파일을 만들어 깃에서 무시할 파일이나 폴더경로를 넣어주면 원격저장소로 이동하지 않는다.
.cache/
dist/
node_modules/
📍 플래그 -D
devDependencies와 dependencies의 차이는 '개발용'이다.
-D (하이픈 대문자 플래그 D, --save-dev)를 입력하면 개발용 의존성 패키지로 설치, 그렇지 않으면 일반 의존성 설치를 의미한다.
개발용 의존성 패키지는 개발할 때만 필요하고 웹브라우저에서 동작할 때는 필요하지 않음을 의미하며 일반 의존성 설치는 웹브라우저에서 동작할 수 있음을 의미한다.
$ npm install -D parcel-bundler | $ npm install lodash |
devDependencies | dependencies |
개발용 의존성 패키지 | 일반 의존성 패키지 |
개발할 때만 필요, 웹브라우저 동작X | 웹브라우저에서 동작 |
📍유의적 버전
(SemVer, Semantic Versioning)
특정 프로그램에 버전을 명시할 때 유의적 버전이란 개념을 사용한다.
Major.Minor.Patch
E.g, 12.14.1
- Major(12) : 기존 버전과 호환되지 않는 새로운 버전
- Minor(14) : 기존 버전과 호환되는 새로운 기능이 추가된 버전 (12버전에서 14번의 업데이트가 된 의미)
- Patch(1) : 기존 버전과 호환되는 버그 및 오타 등 단순한 기능들이 수정된 버전
^캐럿
^12.14.1의 캐럿(^)이 적힌 버전 : Major버전 안에서 가장 최신 버전으로 업데이트함을 허용하는 기호
📍 npm 명령어
$ npm init -y | npm 시작 |
$ npm install parcel-bundler -D | 개발 의존성 패키지로 설치 |
$ npm info lodash | lodash 패키지의 기본 정보를 알 수 있음 |
$ npm install lodash@4.17.20 | @을 사용하여 lodash 패키지의 원하는 버전을 설치할 수 있음 |
$ npm update lodash | lodash 패키지의 최근 버전으로 업데이트 |
📍 npm js.com
필요한 소프트웨어를 검색해서 제공하는 기능을 보고 npm 명령어로 설치하여 사용한다.
node_modules라는 폴더에 다운로드 된다. 웹사이트 내에 Usage섹션에서 사용법을 알 수 있다.
'FE' 카테고리의 다른 글
[버그 이슈]Uncaught SyntaxError : Cannot use import statement outside a module (0) | 2021.11.03 |
---|---|
[버그 이슈] Build Erorr, The "data" argument must be... (0) | 2021.11.03 |
NVM으로 nodejs 버전 관리, 다운로드, 버전 변경하기 (0) | 2021.11.01 |
SCRIPT LIBRARY 모음 (0) | 2021.10.31 |
nodejs 운영체제별 다운로드 및 노드 버전 매니저 nvm (0) | 2021.10.31 |