ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript런타임과 node.js
    javascript 2020. 12. 3. 08:51

    런타임 하면 어려운 개념인 것 같지만 우리는 이미 자바스크립트 런타임을 사용하고 있다. 흔히 사용하는 웹브라우저가 바로 JavaScript런타임이다.

    런타임이란 프로그래밍 언어가 구동되는 환경이다. 환경은 쉽게말해 프로그램이다. 즉 런타임이란 "어떤 프로그래밍 언어가 동작할 수 있는 프로그램" 이다.

    JavaScript의 런타임은 무엇이 있을까? 먼저 브라우저가 대표적인 자바스크립트 런타임이다. 이전에는 자바스크립트 런타임이 브라우저 밖에 없었다. 하지만 이제 node.js라는 새로운 자바스크립트 런타임이 나왔다. 자바스크립트가 브라우저가 아닌 곳에서 실행될 수 있으니, 자바스크립트를 이용해서 웹페이지 뿐만 아니라 서버와 같은 다른 프로그램을 만들 수 있다.

    //ex) nodeJs.js라는 파일을 만들고, 
    $ node nodeJs.js
    //를 실행하면 node에서 nodeJs.js파일이 실행된다.

    ![스크린샷 2020-12-03 오전 8.01.22](/Users/limjaehyeon/Documents/블로그 글정리/screenShot/스크린샷 2020-12-03 오전 8.01.22.png)

    NVM

    node.js에서 자바스크립트를 실행시키려면 당연히 node.js를 설치해야 한다. 그런데 node.js도 프로그램이다보니 버전이 있다. 개발을 하다 보면 다양한 node.js버전에 대응해야 할 일이 생긴다. 최신 버전에서는 내가 짠 코드가 잘 돌아가는데, 이전 버전에서는 안돌아 가는 경우가 있을 수도 있다. 이럴 경우 이전 버전으 node.js에서도 테스트가 필요하다. 그러려면 이전버전의 node설치가 필요한데 이렇게 버전을 옮길 때마다 node.js를 지우고 다시 설치해야 한다면 작업할 때마다 엄청 귀찮을 것이다. 이런 문제를 NVM(Node Version Manager)이 해결해준다.

    NPM

    NPM은 Node Package Manager로 일종의 앱스토어이다. 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈스토어이다.

    node모듈을 사용하는 프로젝트에서 npm이라는 키워드는 하나의 명령어처럼 사용되기도 한다. npm start 처럼, 프로젝트를 실행시킬 때 npm키워드를 사용하기도 한다.

    package.json

    디펜던시 관리 파일이다. 자바 스프링에서의 maven과 비슷한 역할을 하는 것 같다. package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다.

    npm install 명령어를 입력하면, package.json에서 필요하다고 하는 모듈을 다운받는다. npm install 이 완료되면 node_modules 디렉토리가 생긴 걸 확인할 수 있다.

    1.dependencies

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

    ![스크린샷 2020-12-03 오전 8.43.52](/Users/limjaehyeon/Documents/블로그 글정리/screenShot/스크린샷 2020-12-03 오전 8.43.52.png)

    2.devDependencies

    이 프로젝트를 개발하는 환경 에서 필요한 모듈들이 무엇인지가 적혀있다.

    ![스크린샷 2020-12-03 오전 8.46.01](/Users/limjaehyeon/Documents/블로그 글정리/screenShot/스크린샷 2020-12-03 오전 8.46.01.png)

    3.scripts

    npm으로 실행시킬 수 있는 명령어를 정의한다. 명령어를 입력하면 어떤 동작을 해야하는지 가 적혀있다.

    ![스크린샷 2020-12-03 오전 8.48.22](/Users/limjaehyeon/Documents/블로그 글정리/screenShot/스크린샷 2020-12-03 오전 8.48.22.png)

    npm run lint 이런식으로 실행

    참고하면 좋을 사이트

    'javascript' 카테고리의 다른 글

    화살표함수  (0) 2020.12.03
    script태그의 위치  (0) 2020.11.12
    SpreadSyntax(전개문법), RestParameter  (0) 2020.11.10
    자바스크립트 참조타입데이터(reference type data)  (0) 2020.11.06
    문자열  (0) 2020.10.28

    댓글

Designed by Tistory.