-
TIL_200520Today I Learned 2020. 5. 20. 15:54
node.js는 무엇인가?
V8엔진으로 만들어진 자바스크립트 런타임이다.
- 자바스크립트를 기계어로 컴파일 해주는 V8엔진
- 런타임은 프로그래밍 언어가 구동되고 있는 환경
이벤트 기반의 논블로킹 I/O 모델이다.
- 이벤트는 유저가 버튼을 클릭하거나 네트워크에 리소스를 요청하는 것
- 논블로킹과 블로킹의 차이는? (블로킹) 동기호출 (논블로킹) 비동기호출
- I/O 모델은 Input을 주면 Output을 받는 모델
자바스크립트를 컴파일하여 구동하고 이벤트기반의 논블로킹모델로 속도가 빠르다.
node와 함께 번들링 되어있는 모듈
- fs
- http
- url
- path
Node Package Manager
세계에서 가장 큰 오픈소스 라이브러리 생태계 중 하나
package.json에 프로젝트의 셋업이 기록되어 효율적으로 사용가능하다
Package.json
npm init - 디렉토리에서 npm을 사용하는 프로젝트라는 것을 알려주며 package.json파일을 생성
프로젝트에 들어있는 package.json파일에는 프로젝트에 관한 정보, 설정된 스크립트 코드, 개발과 관련된 dependency의 정보가 있다.
dependency - 직접 production과 관련되어 있다.
npm install --save react (--save 옵션을 꼭 주어서 모듈을 설치해야 dependency목록에 추가된다.)
npm install은 package.json의 dependency를 기반으로 설치된다. 하지만 코드에서 어떠한 모듈을 사용하고 있지만 dependency에 등록하지 않았다면 같은 프로젝트를 하는 팀원이 받았을때 모듈을 모두 설치하지 못해서 오류가 발생한다.
스크립트 코드 - 해당 코드를 실행시키는 명령어의 목록
scripts 목록에 명령어와 실행하는 코드를 작성한다면 터미널에서 작성하는 명령어가 간단해진다.
'Today I Learned' 카테고리의 다른 글
TIL_200526 (What is React) (0) 2020.05.27 TIL_200525 (What is React) (0) 2020.05.25 TIL_200427-29 (0) 2020.04.30 TIL_200413 (0) 2020.04.13 TIL_200407-08 (0) 2020.04.09