← 홈페이지 5강 목록으로
🟢
EPISODE 01
REPL · CommonJS/ESM · process

Node.js 기초

Chrome V8 엔진 위에서 동작하는 서버 사이드 JavaScript 런타임 Node.js의 기초 — REPL, 모듈 시스템(CommonJS/ESM), 파일 실행, process 객체를 익힙니다.

Node.jsREPLmoduleprocess
소요 시간
30~45분
난이도
📊 중급 입문
선수 조건
🎯 js-08
결과물
터미널에서 Node로 .js 파일 실행과 인수 처리

이 강의에서 배우는 것

  • 1Node.js와 브라우저 JavaScript의 환경 차이를 안다
  • 2REPL에서 즉시 코드를 실행한다
  • 3CommonJS(require/exports)와 ESM(import/export)을 구분한다
  • 4process.argv로 실행 인수를 처리한다

1. Node.js란

Chrome V8 엔진 위에서 동작하는 서버 사이드 JavaScript 런타임. 웹 브라우저 없이도 컴퓨터에서 직접 JavaScript 코드를 실행합니다.

text
브라우저 환경: JavaScript → V8 엔진 → DOM/BOM API
Node.js 환경: JavaScript → V8 엔진 → Node.js API (fs, http, os …)

2. 설치 확인

bash
node --version    # v18 이상 권장
npm --version

설치가 안 되어 있다면 https://nodejs.org 에서 LTS 버전 설치.

3. REPL

터미널에 node를 입력하면 대화형 환경이 열립니다.

bash
$ node
> 1 + 2
3
> 'Hello' + ' World'
'Hello World'
> Math.max(3, 7, 1)
7
> .exit

4. 모듈 시스템

CommonJS (기본)

javascript
// 내보내기
module.exports = { add, subtract };

// 가져오기
const { add } = require('./math');
const fs = require('fs');       // 내장 모듈
const dayjs = require('dayjs'); // npm 패키지

ESM (.mjs 또는 "type":"module")

javascript
// 내보내기
export function add(a, b) { return a + b; }

// 가져오기
import { add } from './math.js';
import fs from 'fs';
💡

이 강의에서는 CommonJS를 기본으로 사용합니다.

5. 파일 실행

bash
node app.js                # 기본 실행
node app.js 홍길동          # 인수 전달
node app.js 10 + 20        # 여러 인수

6. process 객체

javascript
process.argv       // 실행 인수 배열
process.env        // 환경 변수
process.cwd()      // 현재 작업 디렉토리
process.exit(0)    // 프로세스 종료
process.platform   // 'win32', 'darwin', 'linux'

process.argv 예시

bash
node app.js 홍길동
javascript
console.log(process.argv);
// ['node경로', 'app.js경로', '홍길동']
const name = process.argv[2]; // '홍길동' (인수는 index 2부터)
예제 코드 / 강의 자료

전체 강의 자료와 예제 코드는 GitHub에서 자유롭게 받아볼 수 있습니다.

GitHub에서 보기 ↗