[2020. 10. 18 TIL ] Node.js, NVM, NPM, package.json

Young-mason·2020년 10월 19일
0

TIL

목록 보기
2/11

1. JavaScript 런타임과 Node.js

런타임이란 프로그래밍 언어가 돌아가는 환경을 의미한다. 여태까지는 브라우저를 통해 JS 코드를 실행시켰다. 즉, 브라우저가 대표적인 JS의 런타임이다.

오늘 Node.js라는 키워드를 처음 학습하였다. node.js는 새로운 JS의 런타임이다. node.js 를 통해 브라우저가 아닌 곳에서 JS를 이용하여 웹페이지 뿐만 아니라 서버와 같은 다른 프로그램들을 만들 수 있다

런타임이란 프로그래밍 언어가 돌아가는 환경
node.js는 JavaScript의 런타임

2. NVM

Node Version Manager의 약자로, nvm을 통해 간단한 명령어로 node를 설치하고, 다양한 node version을 손쉽게 옮겨 다닐 수 있다.

<NVM 설치>

아래 명령어를 terminal에 입력

$ touch ~/.bash_profile 
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

성공적으로 NVM이 설치되었으면 NVM 버전을 확인한다.

$ nvm --version

<NVM을 이용하여 node.js 설치>

아래 명령어와 같이 설치하고자 하는 node version을 적어준다.

$ nvm install 12.18.3

성공적으로 node가 설치되었다면, 아래 명령어를 입력하였을 때 node 버전이 출력된다.

$ node -v

NVM은 다양한 node version를 설치하고 관리할 수 있는 프로그램이다.

3. NPM

Node Package Manager 로, node.js에 필요한 모듈을 다운로드 할 수 있는 일종의 모듈 스토어이다.

npm 은 하나의 명령어처럼 사용되기도 한다.

예) 프로젝트 실행 키워드

npm start

4. package.json

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

마치 전자제품을 보러 갔을 때 카탈로그만 보면 어떤 제품들이 있는지 파악할 수 있는 것처럼, package.json을 보면 어떤 모듈이 들어있는지 알 수 있다.

앞으로 프로젝트를 진행할 때, package.json에서 필요하다고 하는 모듈을 npm을 이용해 다운받으면 된다.

- dependencies

이 프로젝트를 실행하기 위해 필요한 모듈들이 적혀있다

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

- devDependencies

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

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

- scripts

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

"scripts": {
  "start": "node app.js",
  "test": "node test.js",
}
  // npm test 명령어를 입력하면 "test.js" 파일을 "node"에서 실행시킨다
profile
Frontend Developer

0개의 댓글