NodeJS 소개
- 브라우저 외부에서 실행되는 자바스크립트 엔진
- 구글 크롬의 자바스크립트 엔진인 V8을 이용해 만들어짐
- 기본 자바스크립트 기능 외에 운영체제 기능을 활용할 수 있는 라이브러리 제공
- 주로 개발자 도구나 웹 서버 상에서 실행되는 프로그램을 작성할 때 많이 사용
Node 특징
- 비동기 I/O처리
- 시간이 많이 걸리는 Input,Output 작업을 비동기로 처리
- 빠른 속도
- 구글 크롬의 자바스크립트 엔진인 V8의 등장으로 자바스크립트의 속도 문제도 어느 정도 해결
- 패키지 매니저를 통한 의존성 관리
- NPM이라는 패키지 매니저를 제공
- 노드 패키지 매니저는 전세계 수 많은 사람들이 자신들의 모듈을 업로드 할 수 있는 코드 저장소
- 단일 쓰레드
- 쓰레드란 CPU가 동시에 여러가지 일을 처리할 수 있게 해주는 기능
NPM
- Node Package Manager
- NodeJS로 만들어진 모듈 공유
- 프로젝트 의존성 관리를 위한 package.json
로컬환경에 NodeJS 설치
VisualStudioCode NodeJS 디버깅
모듈 프로그래밍
- 여러 파일에 기능을 쪼개서 개발
- 코드 가독성이 올라가고 관리가 쉬워짐
- module.exports 객체 이용
- require(‘{파일명}‘) 함수로 모듈 로드
function add(a, b) {
return a + b;
}
function sub(a, b) {
return a - b;
}
module.exports = {
'add' : add,
'sub' : sub
}
var calculator = require('./0609-nodejs-module-1.js');
console.log(calculator.add(1, 2));
console.log(calculator.sub(5, 3));