🍏package.json
=프로젝트에서 사용하는 패키지들의 정보를 담고 있는 파일
패키지와 패키지의 버전 정보를 담고 있다.
예시
{
"name": "mongoose",
"version": "0.0.1",
"description": "구스구스몽구스",
"main": "app.js",
"scripts": {
"start": "nodemon app",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yu",
"license": "MIT",
"dependencies": {
"express": "^4.17.1",
"mongoose": "^5.9.10",
"morgan": "^1.10.0",
"nunjucks": "^3.2.1"
},
"devDependencies": {
"nodemon": "^2.0.3"
}
}
+ scripts
scripts 내부의 것들은 별명을 붙이는 것이다
예를들어 test의 경우 npm test 를 콘솔에 작성하면 에러를 발생 시키게 한 것이다
+ devDependencies, dependencies
devDependencies = 개발할 때만 사용 npm i -D nodemon 이런식으로 설치하면 devDependencies에 들어감
dependencies = 배포할 때도 사용
+ 전역 설치
= package.json에 기록되지 않지만 콘솔에서 명령어처럼 사용할 수 있는 설치
ex)
npm i -g rimraf 전역 설치
rimraf node_modeuls 콘솔에 입력하여 node_modules를 삭제
+ 전역 설치 대안
= package.json에 기록되지 않는다는 불편함 때문에 아래 방식을 사용한다.
npm i rimraf -D 개발자용으로 설치
npx rimraf node_modules 전역설치 하지 않고도 콘솔에서 사용할 수 있다.
사용
node project시작 전에 터미널에서 아래의 명령어를 각각 수행 한 후 프로젝트를 시작한다.
npm init package.json을 만든다
npm install package.json에 기록된 패키지들을 다운받는다
npm i를 한 후에는 node_modules 폴더안에 패키지들이 설치된다.
용량이 많으니 gitignore에 추가해두고 배포할때도 빼고 한다.
🍏package-lock.json
=확실히 버전을 고정해놔서 버전문제가 생기지 않게 하는 것
🍏패키지 버전
SemVer 버저닝
=노드 패키지 버전은 SemVer방식을 사용 ex) 4.3.23, 1.0.3
1.2.3
첫번째 = 하위버전과 호환되지 않는 수정 major
두번째 = 하위버전과 호환되는 수정 minor
세번째 = 기능에 버그 해결 patch
버전 기호
^1.1.1 = minor버전까지만 업데이트. 첫번째 자리만 고정하겠다.
~1.19.0 = patch 버전까지만 업데이트. 두번째 자리까지 고정하겠다.
3.4.4 = 세번째 자리까지 다 고정하겠다.
패키지 버전별 설치
npm i 패키지명@3 = 3버전을 설치
npm i 패키지명@latest = 최신 버전을 설치
npm i 패키지명@next = 아직 나오진 않았지만 테스트용 설치
'개발' 카테고리의 다른 글
AWS Athena를 통해 S3 parquet 데이터 조회 (C#) (0) | 2025.03.21 |
---|---|
S3에 Parquet 파일 올리고 Athena로 조회 (0) | 2025.03.21 |
[Node.js] Node.js 기초 (0) | 2025.03.07 |
[Vue] 전역 component (0) | 2025.03.07 |
[Vue] submit event 발생 시 새로 고침 막기 (0) | 2025.03.07 |