개발나라 스용공주

[Node.js] ES 모듈이란? 본문

WEB/Node.js

[Node.js] ES 모듈이란?

스용공주 2024. 12. 10. 07:16
728x90
728x90

이번 글은 모듈시스템 ES에 대한 글이다.

아래 링크로 가면 또 다른 모듈시스템인 CJS에 대한 설명을 볼 수 있다.

https://hwangseoyoung.tistory.com/202

 

[Node.js] CommonJS(CJS)모듈이란?

이번 글은 모듈 시스템 CJS에 대한 글이다.  [ CJS 사용 구조 ]아래 두 코드를 보면 CJS는 실행하고자 하는 파일(math)를 내보내 실행시키는 파일(index)에서 실행하는 것을 확인할 수 있다. math)이때 m

hwangseoyoung.tistory.com

 

 


 

[ ES 사용 전 ]

ES 모듈시스템을 사용하려면 먼저 package.json에 아래 코드 추가해야한다.

"type": "module"

 

그리고 아래 코드와 같이 CJS 방식의 코드들은 주석하거나 삭제해야 오류가 없다.

module.exports = {};

 

 


 

[ ES 사용하기 - 1 ]

ES 모듈 시스템에서는 CJS 모듈시스템에서 내보내는 방식인 module.exports 같은 방식과 다르게 export만 작성해 내보낼 수 있다.

실행 또한 아래 index파일에 작성된 것처럼 import {받을 내용} from "경로"; 이다.

 

[ math ]

// math 모듈
function add(a, b) {
  return a + b;
}

function sub(a, b) {
  return a - b;
}

// ES
export { add, sub };

 

[ index ]

import { add, sub } from "./math.js";

 

 


 

[ 디폴트값 내보내기 ]

아래 코드는 ES 모듈에서 하나의 모듈을 대표하는 디폴트값을 내보내는 방법이다.

=> 이때 import 시 이름을 마음대로 변경할 수 있다.

default이 붙은 값 하나만 빼올 수 있다.

 

[ math ]

export function add(a, b) {
  return a + b;
}

export function sub(a, b) {
  return a - b;
}

export default function multiply(a, b) {
  return a * b;
}

 

[ index ]

import mul from "./math.js";

 

 


 

[ 코드 합치기 ]

동일한 경로로부터 여러 값을 가져올 때 아래 코드 index(1)처럼 각각 나열할 수도 있지만 index(2)처럼 합쳐서 작성할 수도 있다.

 

[ index(1) ]

import mul from "./math.js";
import { add, sub } from "./math.js";

 

[ index(2) ]

import mul, { add, sub } from "./math.js";

 

 


728x90
728x90

'WEB > Node.js' 카테고리의 다른 글

[Node.js] CommonJS(CJS)모듈이란?  (0) 2024.12.10
[Node.js] Node.js 기본  (0) 2024.12.10
[Node.js] Node.js로 자바스크립트 파일 실행시키기  (0) 2024.12.10
Comments