-
[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/)