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"
},