웹 개발/node.js

Node.js(3)

SolartheNomad 2023. 4. 14. 17:49

npm

 

package.json 

- 서비스에 필요한 패키지와 버전 관리해주는 파일 

 

pacakge.json 설치 명령어

npm init

 

package.json 

package.json

{
  "name": "npmtest",
  "version": "0.0.1",  // npmtest 패키지의 0.0.1 버전
  "description": "hello package.json",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    // scripts : npm 명령어를 저장하는 부분 
    //  "Error: no test specified"는 콘솔에 해당 문자열을 출력하라는 뜻이고, exit 1은 에러와 함께 종료하라는 뜻
  },
  "author": "ZeroCho",
  "license": "ISC"
}

 

Express 설치하기

npm install express

 

** 오류 메세지 관련 

 

To address all issues, run:
  npm audit fix --force

Run `npm audit` for details.

이 뜨면 ,

 npm audit fix

를 통해 npm이 스스로 수정할 수 있는 취약점을 알아서 수정해준다. 

 

 

package.json 

{
  "name": "npmtest",
  ...
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.3",
  }
}

- dependencies라는 속성이 새로 생겼고, express의 버전을 적어준다. 

- 새로 생긴 package-lock.json은 패키지 간의 의존 관계를 명시하는 파일이다. 

 

express와 node의 관계

 

morgan , cookie-parser, express-session 설치하기 

 npm install morgan cookie-parser express-session

 

nodemon 패키지 설치하기 

 

- nodemon : 소스 코드가 바뀔 때마다 자동으로 노드를 재실행해주는 패키지이다. 

--save-dev :  실제 배포 시에는 사용되지 않고, 개발 중에만 사용되는 패키지로, 개발자용 패키지 형식으로 설치해주는 것 

npm install --save-dev nodemon

 

 

rimraf 패키지 설치하기 

--global : 전역 패키지 설치하기 

- rimraf : 리눅스나 맥의 rm -rf 명령어를 윈도에서도 사용할 수 있게 해주는 패키지

sudo npm install --global rimraf

 

 

patch-package 설치하기 

- package.json, package-lock.json을 수정해주고 그 수정사항을 영구적으로 반영할 수 있는 패키지임 

npx patch-package [수정한 패키지 이름]
npm i patch-package

 

패키지 배포하기

npm publish

 

패키지 오류가 뜰 때 다음과 같이 설정해준 뒤 배포해야 한다. 

npm info [package.json에 적힌 name]