본문 바로가기

Node.js

[Node.js] 노드 package.json 사용법

728x90
package.json 사용법 

 

 

* https://docs.npmjs.com/cli/v7/configuring-npm/package-json 을 참고로 의역 + 알고 있는 내용을 더해 이해한대로 써보았다.

 

 

 

  • package.json은 이름, 버전, 설치한 패키지등의 내용들이 담겨있다. 이 내용들로 npm 사이트에 배포할 수 있고, 내가 설치한 패키지를 관리 할 수 있다.
  • package.json 파일은 javascript object가 아닌 JSON이다.
  • package.json에 적은 내용들은 npm 설정과 관련있게된다.
 
//package.json 예시
{
  "name": "name",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "start": "npx nodemon app"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "ejs": "^3.1.6",
    "express": "^4.17.2",
    "mongoose": "^6.1.8"
  },
  "devDependencies": {
    "nodemon": "^2.0.15"
  }
}

 

이 package.json을 사용하기 위해서는 name과 version이 꼭 필요하다. 

 

name 정하는 규칙

- 214자보다 짧아야한다.
- . 과 _ 로 시작할 수 있다.
- 대문자가 있으면 안된다.
- name은 URL로 사용될만한 이름으로 지어야한다. (name은 URL의 한 부분이기도 하고, argument로 쓰이기도 하고, 폴더 이름이기도 하다.)
 

 

name 정하는 팁

- 이름에 js, node 넣지 말기. (이미 package.json 이라는 거 나타나있음)
- name은 require()의 argument로 쓰이기 때문에 짧거나 괜찮은 이름으로 해야한다.
- npm 사이트에 가서 같은 이름인 게 있는지 확인한다.
 

version

- version이 바뀌면 package도 바뀌게 된다.

 

 

description

- 설명을 적는다. value값에 String type으로 적는다.
- 사람들이 이 package를 찾을 때 참고가 될 수 있다.
 

main

- 내 메인 파일을 시작하는 곳을 기록한다.
 
 

script

- 가져다 쓸 수 있는 이벤트를 모아놓은 사전 같은 것이다.
- key에는 실행될 이벤트 이름을 적고, value는 실행될 내용을 적는다.
- npm run key이름(이 글에서는 start로 해놓음) 만 실행하면 내가 적어둔 실행내용 (npx nodemon app)이 실행된다.
 

author

- 이 파일을 만든 사람

license

- 이 package에 접근 할 수 있는 권한을 적는다.
- 가장많이 사용되는 license는  BSD-2-Clause or MIT, add a current SPDX 가 많이 쓰인다.
- SPDX를 사용할 때  { "license": "ISC" } 로 적는다.

dependencies

- 설치한 npm packege의 이름과 version 이 표기되어있다.
- 추후 node_modules파일을 삭제하게 되더라도 npm i만 터미널에 입력하면 이 dependencies의 내용에 따라 알아서 package가 설치된다.
 

devDependencies

- dependencies와 같게 package를 사용할 수 있지만, 실제로 파일을 돌릴 때 필요한 것이 아니라 개발할 때 테스트용으로만 사용하는 패키지를 등록한다.
 

 

 

 

 

 

 

 

참고

https://docs.npmjs.com/cli/v7/configuring-npm/package-json

728x90