Node.js

NPM 용어 및 패키지 개념 정리

김봉구 2022. 2. 14. 23:28

⬛ NPM

 → Node Package Manager

 → JavaScript 런타임 환경 Node.js의 기본 패키지 관리자

 → 사용자가 레지스트리에서 사용할 수 있는 자바스크립트 모듈을 소비하고 배포할 수 있게 한다

 

// npm 설치 (dependencies에 설치)
npm install <npm>

// npm 삭제
npm uninstall <npm>

// devDependencies에 설치
npm install <npm> -D
npm install <npm> --save-dev

◼ Node.js

 → Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경 (소프트웨어 플랫폼)

◼ express

 → Node.js 웹 애플리케이션 프레임워크

 → 웹 및 모바일 애플리케이션을 쉽게 개발할 수 있는 편리한 도구들의 모임이라 생각하면 된다 

◼ bcrypt

 → 암호 해싱 기능 라이브러리

 → salt를 사용하면 더 강력한 암호화 가능 (salt는 숫자를 사용하는데 보통 10 ~ 12를 사용)

 

bcrypt.hash(password, 12)

◼ cors (Cross - Origin Resource Sharing)

 → 서로 다른 도메인, 포트 간에 자원을 공유할 수 있도록 설정하는 것

 → 서버에서 응답을 승인할 도메인을 지정할 수 있다

dotenv

 → 환경 변수를 파일에 저장할 수 있도록 해주는 라이브러리

 

// 사용 방식
const dotenv = require("dotenv");

dotenv.config();
require("dotenv").config();

// .env 파일 사용 (비밀번호 등 보안이 필요한 정보가 담겨있는 파일)
JWT_PWD=abcdef
DB_HOST=1.1.1.1
DB_PWD=abcdef

process.env.JWT_PWD
process.env.DB_HOST
process.env.DB_PWD

morgan

 → 로그 기록을 남기는 라이브러리로 서버 모니터링 할 때 사용

 

const express = require("express");

const app = express();

app.use(morgan("dev"));

nodemon

 → 변경사항 발생 시 서버 재시작을 자동으로 해주는 라이브러리

 

// nodemon 설치
npm install nodemon -D

// package.json 파일
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon app.js"
  },