ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2019.04.22] package.json 개념
    개발 블로깅/기타 개념 2019. 4. 23. 00:37

     

    package.json은 해당 프로젝트에서 package에 대한 설정을 하는 파일이다.

    npm을 통하여 모듈을 설치하면 package.json에 버전이 명시되고, 반대로 package.json에 명시된 모듈을 해당 프로젝트에 설치를 할 수 있다.

    그만큼 프로젝트의 모듈 관리를 위한 아주 중요한 파일인 만큼, 우리가 정말 자세하게 알 필요가 있다.

     

    # package.json 기본 세팅

    npm init -y

    package.json 파일의 기본 세팅

     

    해당 프로젝트의 root 경로에 위와 같이 터미널에 입력하면 package.json의 기본 세팅으로 파일이 생성된다.

    # package.json에 명시된 내용

    • name : 프로젝트 명
    • version : 프로젝트 버전
    • description : 설명
    • main : js파일 중 최상위 파일
    • script : npm script 명령어 설정 부분

    (이 외에는 아직 잘 모르겠다...)

     

    모든 부분이 다 중요하지만, 나는 여기서 script 즉, npm 명령어를 다루는 부분을 정리해보려 한다.

     

    # npm script

    npm script는 해당 프로젝트에서 npm으로 실행시키는 명령어를 개발자에 맞게 설정할 수 있는 부분이다.

     

    package.json 파일의 중간 부분에 보면, scripts 명령어를 모아놓는 부분에, 명령어는 'hello', 실행부분은 'helloWorld'를 출력하도록 했다.

     

     

    npm run hello를 치니, npm scripts 명령어가 제대로 수행한 것을 확인할 수 있다.

     

     

    # module 설치 global vs local

    npm을 이용하여 모듈을 설치할 때 글로벌 혹은 로컬로 설치할 수 있다. 글로벌은 어느 프로젝트, 어느 디렉토리에서 전부 사용할 수 있는 것이고, local은 해당 프로젝트의 디렉토리에서만 설치되는 것이다.

    글로벌로 설치 시 장단점

    • 해당 모듈을 설치 후 따로 설정할 작업 없이 npm run 을 안 붙여주고 바로 사용할 수 있다. 
    • 그만큼 pc가 무거워지고 모듈 간 충돌이 일어날 확률이 올라간다.

     

    그래서 가능한 로컬로 설치하여 사용하는 것을 권장하고 있다.

     

    로컬로 설치 시 장단점

    • 프로젝트 마다 필요로한 모듈을 따로 설치하기 때문에 모듈 관리가 편하다. 향후 pc가 무거워지는 것을 방지할 수 있다. 
    • package.json 설정이 필요하다. 명령어 입력 시 앞에 npm을 붙여줘야 한다.

     

    # 재미있는 module 소개 - cowsay

    모듈 -cowsay

     

    npm 모듈에는 정말 여러가지가 있나보다... 정말 npm은 없는게 없는 무료시장 느낌..

     

    #  모듈 로컬 설치법

    npm i -D cowsay
    • i : install 축약형
    • -D : --save-dev 축약형 

     

     

    cowsay 모듈을 설치하면 해당 디렉토리에 node_modules 디렉토리가 생긴 것을 확인할 수 있다. 저 디렉토리 안에 방금 우리가 설치한 cowsay 모듈이 설치되어 있다.

    이제 cowsay 모듈을 npm으로 실행시킬 수 있도록 package.json에 설정해줘야 한다.

     

    package.json

     

    package.json 하단에 보면 cowsay 모듈의 버전을 확인할 수 있다. 

    이제 scripts부분에 cowsay 모듈을 사용할 수 있도록 설정하여 보자. 우선 cowsay을 실행시켜주는 js파일을 node_module 디렉토리 내에서 찾아야 한다.

     

    node_module 디렉토리 안에 cowsay를 들여다보니, 뭔가 실행파일 같아 보이는 cli.js과 index.js이 존재한다. 아마 둘 중 하나일 것이다...(실행파일은 cli.js이다....ㅋㅋ;)

     

     

    실행 파일 경로를 찾았으니, package.json 파일에 scripts 명령어로 추가시켜준다.

     

     

    로컬로 설치된 cowsay 모듈이 제대로 작동하는 것을 확인할 수 있다.

    꼭!! npm 명령어를 실행할 때는 root 디렉토리로 돌아와서 실행해야한다!

     

    참고) scripts 명령어 중, 'test'와 'start'는, 명령어 입력 시 run을 쓰지 않는다.

    ex) npm test, npm start

    반응형

    댓글

Designed by Tistory.