ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JavaScript] 런타임, NVM, NPM
    카테고리 없음 2020. 2. 20. 20:42

    *런타임(Runtime)

     

    런타임이란 프로그램이 구동되는 환경을 의미한다. 일반적으로 자바스크립트는 브라우저에서 실행된다. 이 때의 런타임은 브라우저가 된다.

     

    자바스크립트가 꼭 브라우저에서만 실행되는 것은 아니다. Node라는 환경에서도 실행이 가능하다. .Node를 통해 자바스크립트로 서버 등 여러가 지 프로그램을 만드는 것이 가능해졌다. 

     

    같이 runNode.js 라는 파일 내 자바스크립트 코드를 작성했다. 이를 브라우저와 노드에서 각각 실행해볼 수 있다. 

    //runNode.js
    function hey () {
        console.log('hello, node!')
    };
    hey();
    

     

    * 브라우저 실행
    html 파일을 하나 만들고, 이를 <script>태그를 통해 연결시켜 준다. 이후 브라우저 콘솔을 보면 코드가 실행된 것을 볼 수 있다. 

    //runNode.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        Hello, nodeJs!
        <script type ="text/javascript" src="pass-me/runNode.js"></script> //src에 파일 삽입
    </body>
    </html>

     

    크롬 브라우저 콘솔 화면

     

    * Node 실행

    터미널을 켜고, 아래에 다음 명령어를 입력하면 명령이 실행된 것을 확인할 수 있다. 

    // node
    $ node runNode.js
    

     

     

    * NVM (Node Version Manager)
    Node는 자바스크립트가 실행되는 환경(런타임)이다. 노드는 프로그램이므로, 여러 가지 버전이 있다. 이 노드 버전을 관리해주는 프로그램을 NVM(Node Version Manager)이라고 한다. NVM을 통해 노드의 여러 버전을 편리하게 오가면서 사용할 수 있다. 

     


    *NPM(Node Package Manager), package.json
    개발은 자동차를 만드는 일에 자주 비교된다. 바퀴, 핸들, 엔진 등을 처음부터 만드는 게 아니라 완성된 부품(모듈)들을 조립한다는 맥락에서 유사하다. NPM(Node Package Manager)은 노드에서 사용되는 부품(모듈)들을 쉽게 다운로드해서 사용할 수 있는 곳이다.  NPM을 통해 다른 개발자들이 만든 코드 모듈을 가져와 사용할 수 있다. 

     

    협업을 진행할 때, 내가 사용한 모듈이 무엇인지 누구든 알 수 있도록 적시해놓은 파일이 바로 package.json이다. 이를 통해 해당 프로젝트에서 필요한 모듈이 무엇인지 바로 확인하고 다운로드해서 사용할 수 있다. 프로젝트에 필요한 모듈들은 파일 내 'dependencies'를 통해 확인할 수 있다. 

     


    * Reference : codestates, nodejs.org (https://nodejs.org/ko/about/) , node.js교과서(https://thebook.io/006982/ch01/01/02/)

    댓글