웹 개발/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]