Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 여기서 런타임이란 프로그래밍 언어가 동작하는 환경으로 결국 자바스크립트가 동작하는 환경을 의미합니다.
자바스크립트가 동작할 수 있는 환경은 크게 두가지가 있습니다. 첫번째는 Node.js가 설치되어 있는 컴퓨터이고 두번째는 웹브라우저입니다. 결국 Node.js를 배운다는 것은 컴퓨터를 제어하는 방법을 배운다는 것이라고 할 수 있습니다.
1. 설치된 list확인
$ nvm ls
2. node.js설치
$ nvm install 16.13.2(Node.js버전)
3. 사용할 node.js버전 명시
$ nvm use 12.14.1
4. 현재설치된 node버전 확인
$ node --version
5. node.js삭제
$ nvm unisntall 12.21.0
NPM의 장점과 단점
장점: 관리 효율 증가, 손쉬운 기능 고도화
단점: 학습 난이도 증가, 구성이 복잡함
$ npm init -y
npm으로 패키지 관리를 시작한다는 명령어로 지정한 폴더 내에 package.json
파일이 생성됩니다.
{
"name": "test", //프로젝트명
"version": "1.0.0", //프로젝트의 버전
"description": "", //프로젝트의 설명
"main": "index.js",//프로젝트를 하나의 패키지로 만들어 npm의 생태계에 업로드할 때 필요한 옵션
"scripts": {//현재 프로젝트 내부에서 사용할 수 있는 스크립트 명령들을 명시
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
parcel-bundler라는 이름의 패키지(모듈)를 설치하는 명령어로 node_modules
폴더와 package-lock.json
파일이 생성됩니다.
node_modules: npm install
명령어를 통해 프로젝트에 패키지(모듈)를 설치하면 패키지를 활용하는데 필요한 패키지들도 함께 설치되어 node_modules
폴더에 들어가게 됩니다.
package-lock.json : 설치한 해당 패키지(모듈)가 내부적으로 사용하는 또 다른 패키지(모듈)들의 정보가 명시됩니다.
프로젝트에 패키지(모듈)를 설치하게 되면
package.json
파일 내, devDependencies, dependencies 옵션으로 패키지의 내역이 남게 되어, node_modules 폴더를 삭제하더라도npm i
또는npm install
이라는 명령어를 통해 재설치할 수 있습니다.