🟢
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
> .exit4. 모듈 시스템
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부터)