본문 바로가기
NodeJS, NPM, Koa/NodeJS, NPM, Express

NodeJS Import 방법 정리 # CommonJS ES

by Developer88 2023. 4. 19.
반응형

오늘은 Nodejs에서 사용되는 import 을 정리해 보도록 하겠습니다.

그중에서도 가장 오랫동안 사용되어온 CommonJS의 모듈화 방식과,

최신의 ES방식에 대해서 정리해 보도록 하겠습니다.

 

먼저 CommonJS의 방법을 정리해 보도록 하겠습니다.

1. CommonJS

1-1. export 

예를 들어, 프로젝트의 폴더에서 /util 폴더에 아래와 같이 코딩하고,

hello.js 파일을 만들었다고 가정해 보겠습니다.

 

export 할 변수명이나 함수명을 module.exports =  다음에 넣어주면 됩니다.

 

function hello(name) {
  return `Hello World, I'm, $name`;
}

module.exports = hello;

 

 

1-2. import 

이제 import 해 보겠습니다.

require()를 사용하는데요.

아래와 같이 안에 해당 폴더의 위치와 파일명을 적어 줍니다.

 

const hello = require('./utils/hello');

const sayHello = hello('김군');
console.log(sayHello);

 

매우 심플하여 사용하기도 쉽습니다.

 

2. ES 방식

2-1. type 설정

NodeJS에서,

ES(Echma Script)방식을 따를 때는,

package.json 에 아래와 같이,

type을 명시해 주어야 합니다.

"module" 이라고 해 주기만 하면 됩니다.

 

 

 

2-2. export

hello.js 파일안에 아래와 같이 앞에 키워드 export 만 넣어주면 끝납니다.

commonJS방식에서는 "module.exports = hello;"를 넣어주어야 했었는데요.

이제는 그것도 필요하지 않습니다.

 

export function hello(name) {
  return `Hello World, I'm, $name`;
}

 

2-3. import

import 할때는 주의가 필요한데요.

가져오는 hello 함수를 { }으로 감싸주고요.

import 할 파일의 위치를 작성해주는 것은 같은데,

뒤에 확장자 명까지 꼭 적어주어야 합니다.

 

import { hello } from './utils/hello.js';

const sayHello = hello('김군');
console.log(sayHello);

 

 

3. 여러개의 함수를 export 하고 import 할경우

3-1. commonJS 방식

아래와 같이 여러개의 함수를 { }으로 감싸고, 콤마를 이용해 구분해 주면 됩니다.

 

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

function minus(a, b) {
  return a * b;
}

module.exports = { add, minus };

 

import 할 때는 아래와 같이 { }에 import 할 함수들을 넣어주기만 하면 됩니다.

 

const { add, minus } = require('./util/math');

const sum = add(7, 3);
const product = minus(7, 1);

 

3-2. ES방식

그럼 여러개의 하수를 export 하고 import 할 경우는 어떻게 될까요?

먼저 import는 다음과 같이 합니다.

 

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

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

 

 

다음으로 import 할 때는 아래와 같이 해주기만 하면 됩니다.

 

import { add, minus } from './util/math.js';

const add = add(6, 2);
const minus = minus(3, 1);

 

아래와 같이 여러개를 import 할 수도 있습니다.

 

import * as utils from './util/math.js';

const sum = utils.add(6, 2);
const product = utils.minus(3, 1);

 

이상으로 CommonJS와 ES 방식으로 NodeJS에서 파일을 import 하고 Export 하는 방식에 대해서 정리해 보았습니다.

 

728x90

댓글