node는 v8엔진으로 만들어진 Javascript 런타임이다.
텍스트
- V8 : 자바스크립트를 기계어로 컴파일 해주는 엔진
- 런타임 : 프로그래밍 언어가 구동되고 있는 환경
→ 자바스크립트를 기계어로 컴파일 해주는 엔진으로 빌드 된 자바스크립트가 구동중인 환경이다.
node.js의 특성
이벤트 기반 및 논블로킹 I/O 모델
유저의 클릭이나 네트워크에 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 Input Output model.
→ javascript를 컴파일하여 구동하고, 이벤트 기반의 논블로킹 모델로 속도가 빠르다.
별도의 설치를 하지 않아도 node상에서 쓸 수 있는 모듈이 있음.
node와 함께 번들링 되어 있는 모듈
require('') 방식으로 사용할 수 있다.
const fs = require('fs')
const http = require('http')
fs.readFile('./something.json',(err,data) => {
console.log(data);
})
http.get('http://localhost:5000/api', (res) => {
console.log(res);
})