ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • node.js와 관련 도구
    Note 2020. 10. 27. 21:02

    런타임

    - 어떤 프로그래밍 언어가 동작할 수 있는 환경(프로그램)

    - 자바스크립트의 대표적인 런타임으로는 브라우저, node.js

     

    NVM

    개발을 하다 보면 다양한 node.js 버전에 대응해야 할 일이 발생
    문제는 내가 설치한 node 버전과 테스트해야 할 node 버전이 다를 경우가 발생함
    이럴 경우에 버전을 옮겨가며 지우고 설치하는 것을 반복하는 것은 매우 비효율적임, 이런 문제를 NVM이 해결

     

    NVM은 Node Version Manager
    NVM을 통해 간단한 명령어로 node를 설치하고, 다양한 node version을 손쉽게 옮겨 다닐 수 있음

     

    NPM

    NPM은 Node Package Manager로 일종의 앱스토어
    필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어
    node 모듈을 사용하는 프로젝트에서 npm이라는 키워드는 하나의 명령어처럼 사용되기도 함

     

    package.json

    프로그램을 나 혼자만 개발하고 사용한다면 큰 문제가 되지 않을 수 있지만
    개발자 대부분은 다른 사람과 함께 개발하고 사용하게 됨

    내가 만든 프로젝트면 어떤 모듈이 필요하고, 이 프로그램을 어떻게 실행시킬지를 잘 알고 있지만
    아무것도 모르는 사람이 내가 만든 프로젝트를 실행시킬 땐 이야기가 달라지게 됨

    어떻게 해야 프로그램을 실행시킬 수 있는지, 이걸 실행시키려면 어떤 모듈이 있는지를 알 수 없는 것임
    다른 사람에게 이 프로젝트에 대해 알려줘야 하는데 그 역할을 하는 것이 바로 package.json

     

    package.json에는

    프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법,
    프로그램을 테스트하는 방법 등이 명시

     

    1. dependencies

    프로젝트가 돌아가기위해 반드시 필요한 모듈들이 무엇인지

    "dependencies": {
      "react": "^16.8.6",
    }

     

    2. devDependencies

    개발하는 환경에서 필요한 모듈들이 무엇인지
    코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈 등을 명시

    "devDependencies": {
      "jest": "^2.3.0",
      "eslint" : "^2.0.0"
    }

     

    3. scripts

    npm 으로 실행시킬 수 있는 명령어를 정의, 명령어를 입력하면 어떤 동작을 해야 하는지

    "scripts": {
      "start": "node app.js",
      "test": "node test.js",
    }

     

    'Note' 카테고리의 다른 글

    구조 분해 할당 (배열, 객체)  (0) 2020.10.27
    this, 화살표  (0) 2020.10.27
    재귀함수  (0) 2020.10.27
    고차함수, 콜백함수  (0) 2020.10.27
    HTML  (0) 2020.10.27

    댓글