티스토리 뷰
※ npm (Node Package Manager)
- 외부 패키지(모듈)을 npm 서버에서 다운로드해서 사용할 수 있도록 관리
- npm 서버에서 패키지 검색할 수 있음
- node.js를 설치하면 npm 명령어도 같이 설치됨 (확인 명령어: npm -v)
※ package.json (협업 시 매우 중요한 파일)
: 외부 모듈(패키지)를 관리하기 위해 반드시 필요함
- npm으로 설치한 패키지들을 관리하는 파일
- 생성 방법 : npm init
예시) ES6 모듈을 사용하기 위해 type을 설정해야 함.
※ 패키지 설치 및 삭제 ★★★
① 프로젝트별 설치
- npm install --save 패키지명
- npm install 패키지명 (npm 버전5부터 --save는 생략가능)
- npm i 패키지명
예시) npm install express
설치 결과) package.json
주의) 협업할 때 git 저장소에는 node_modules를 공유하지 않는다.
package.json과 package-lock.json에 저장된 버전 "그대로" 사용한다.
✔️ 그럼 이 설정 그대로 설치하는 방법은 무엇일까?
=> npm install
② 프로젝트별 개발용 패키지 설치 (배포시에는 포함되지 않고, 개발 중에서만 사용)
- npm install --save-dev 패키지명
- npm install -D 패키지명
③ 전역(프로젝트 공용) 패키지 설치
- npm install --global 패키지명
- npm install -g 패키지명
- mac: /usr/local/lib/node_modules
주의) 협업할 때는 버전차이가 발생할 수 있기 때문에 전역 설치는 되도록 피한다. (PC마다 각각 설치하면 버전 차이 발생 가능성)
왜? 전역 패키지는 package.json 에 기술되지 않는다. 즉, npm install 명령어로 전역 패키지가 설치되지 않는다.
④ package.json에 기술된 모든 패키지 설치
=> npm install
–Git 사용시 node_modules 폴더는 .gitignore에 포함시켜 제외시킴
–package.json 이 협업시 중요한 파일
⑤ 전역 패키지로 설치하지 않고, 사용하는 방법
npm install -D 패키지
npx 명령어
–보통 전역 패키지에는 명령어들이 포함되어 있음
–npx를 붙여서 실행하면 됨
⑥ 패키지 삭제
npm uninstall 패키지
npm uninstall --global 패키지
⑦ package-lock.json 파일
: "의존 모듈의 버전"을 관리하는 곳
lock ==> 모듈의 버전을 수정하지 못하도록 잠근다는 의미
※ bcrypt 패키지
- npm install bcrypt
// 너는 npm에서 설치한 외부 모듈 bcrypt이다.
// API 사용법을 찾아보면 require뒤에 promises 붙이지 않아도 된다.
const bcrypt = require("bcrypt");
(async () => {
try{
const cryptedPassword = await bcrypt.hash("12345", 12);
console.log(cryptedPassword);
const result = await bcrypt.compare("12345", cryptedPassword);
console.log("Result: " + result);
}catch(err){
}
})();
'Web > Node.js' 카테고리의 다른 글
[Node.js] Node.js 개념 및 특징 (장단점 ★★★) (0) | 2021.05.19 |
---|---|
[Sequelize] 기본개념 / MySQL Query 대신에 Sequelize로 구현한 후기 및 코드 공유 (0) | 2021.05.17 |
[Express] Express Framework 프로젝트 생성 및 구조 / Nunjucks 표현식 (0) | 2021.04.29 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 백준2206 파이썬 풀이
- ES6
- @functools.lru_cache
- @functools.wraps
- 익명자식객체
- method와 function
- nodejs
- sequelize.fn
- 클래스와객체
- dynamic-project
- 객체지향개념
- 사용자정의예외클래스
- nunjucks
- os
- 생성자필드메소드
- 자바스크립트Call-back
- 정적멤버
- es6모듈
- yarn start
- 자바빌드도구
- java
- Git
- 인스턴스멤버
- 자바스크립트Promise
- jre
- @functools.singledispatch
- 메이븐 저장소
- 자바스레드
- jdk
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함