노드의 기능(1) : REPL 과 모듈

스크립트 언어

  • 자바스크립트는 스크립트 언어이므로 컴파일을 하지 않아도 즉석에서 코드 실행 가능

REPL 사용하기

  1. REPL이란?
  • 브라우저 콘솔과 같은, 노드의 콘솔
  • 입력한 코드를 읽고(READ), 해석하고(EVAL) 결과물을 반환하고(PRINT), 종료할 때까지 반복한다(LOOP)고 하여 REPL이라고 부름
  1. 사용법
  • 터미널이나 파워쉘, 혹은 vsc(ctrl+`) 등에서 다음과 같이 입력
node
  • 주로 간단한 한두 줄짜리 코드 테스트용으로 사용됨

JS 파일 실행하기

  1. 터미널에 node 라고 입력하여 노드 실행
  2. 현재 위치가 실행될 폴더의 디렉토리인지 확인
  3. 'node 파일명' 으로 파일 실행

모듈로 만들기

  1. 모듈이 될 파일과 모듈을 불러와서 사용할 파일이 필요
  2. 재사용이 용이함
  3. 코드
    (index.js)
const { odd, even } = require('./var');
const checkNumber = require('./func');
function checkStringOddOrEven(str) {
  if (str.length % 2) { // 홀수면
    return odd;
  }
  return even;
}
console.log(checkNumber(10));
console.log(checkStringOddOrEven('hello'));

(var.js)

const odd = '홀수입니다';
const even = '짝수입니다';
//변수를 모듈로 내보냄
module.exports = {
  odd,
  even,
};

(func.js)

//var.js에서 정의한 상수를 가져옴. global.require 에서 global을 생략 
const { odd, even } = require('./var');
function checkOddOrEven(num) {
  if (num % 2) { // 홀수면
    return odd;
  }
  return even;
}
//module.exports에는 함수나 변수를 대입해도 된다. 
module.exports = checkOddOrEven;
  1. ES2015에서의 모듈
    (func.mjs)
import { odd, even } from './var';
function checkOddOrEven(num) {
  if (num % 2) { // 홀수면
    return odd;
  }
  return even;
}
export default checkOddOrEven;
  • 확장자 .mjs를 사용하고 싶지 않다면, package.json에 'type: "module"' 속성을 넣으면 된다

좋은 웹페이지 즐겨찾기