런타임이란 프로그래밍 언어가 돌아가는 환경을 의미한다. 여태까지는 브라우저를 통해 JS 코드를 실행시켰다. 즉, 브라우저가 대표적인 JS의 런타임이다.
오늘 Node.js라는 키워드를 처음 학습하였다. node.js는 새로운 JS의 런타임이다. node.js 를 통해 브라우저가 아닌 곳에서 JS를 이용하여 웹페이지 뿐만 아니라 서버와 같은 다른 프로그램들을 만들 수 있다
런타임이란 프로그래밍 언어가 돌아가는 환경
node.js는 JavaScript의 런타임
Node Version Manager의 약자로, nvm을 통해 간단한 명령어로 node를 설치하고, 다양한 node version을 손쉽게 옮겨 다닐 수 있다.
아래 명령어를 terminal에 입력
$ touch ~/.bash_profile
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
성공적으로 NVM이 설치되었으면 NVM 버전을 확인한다.
$ nvm --version
아래 명령어와 같이 설치하고자 하는 node version을 적어준다.
$ nvm install 12.18.3
성공적으로 node가 설치되었다면, 아래 명령어를 입력하였을 때 node 버전이 출력된다.
$ node -v
NVM은 다양한 node version를 설치하고 관리할 수 있는 프로그램이다.
Node Package Manager 로, node.js에 필요한 모듈을 다운로드 할 수 있는 일종의 모듈 스토어이다.
npm 은 하나의 명령어처럼 사용되기도 한다.
예) 프로젝트 실행 키워드
npm start
package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다.
마치 전자제품을 보러 갔을 때 카탈로그만 보면 어떤 제품들이 있는지 파악할 수 있는 것처럼, package.json을 보면 어떤 모듈이 들어있는지 알 수 있다.
앞으로 프로젝트를 진행할 때, package.json에서 필요하다고 하는 모듈을 npm을 이용해 다운받으면 된다.
이 프로젝트를 실행하기 위해 필요한 모듈들이 적혀있다
"dependencies": {
"react": "^16.8.6",
}
이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지 적혀있다
"devDependencies": {
"jest": "^2.3.0",
"eslint" : "^2.0.0"
}
npm으로 실행시킬수 있는 명령어를 정의함. 즉, 명령어를 입력하면 어떤 동작을 해야하는지가 적혀있다
"scripts": {
"start": "node app.js",
"test": "node test.js",
}
// npm test 명령어를 입력하면 "test.js" 파일을 "node"에서 실행시킨다