본문 바로가기
개발공부/Node.js

module (import,export)

by zing! 2025. 1. 9.

Module (모듈)

특정 기능을 수행하는 코드 조각을 의미하며, 이를 파일 단위로 나누는 것을 뜻한다.

모듈을 생성하여 import와 export를 이용해 다른 파일 간에 데이터를 주고받을 수 있다.
여기서 주의할 점은 import와 export는 코드의 최상단에 위치해야 한다는 것, 이는 호이스팅(hoisting) 때문이다.

호이스팅
자바스크립트에서 코드가 실행되기 전에 변수 선언과 함수 선언이 자동으로 끌어올려지는 현상


import와 export는 자바스크립트의 전역 스코프에서 처리되며, 다른 코드가 실행되기 전에 먼저 처리되어야 한다.
이렇게 해야 import된 모듈을 다른 코드에서 바로 사용할 수 있다.


 -> import문이 파일의 최상단에 있어야 해당 모듈이 제대로 불러와지고, 이후 코드에서 사용할 수 있다.



export

  • Named export는 파일에서 여러 개의 항목(변수, 함수 등)을 내보낼 때 사용
    내보낼 항목 이름을 지정하여 내보내므로, import 시 해당 이름을 동일하게 작성해야한다.
//controller.js

export const edit = (req, res) => res.render("edit");
export const search = (req, res) => res.send("Search");

//router.js
import { edit, search } from "../Controller";
  • Default export하나의 항목을 내보낼 때 사용.default로 지정된 항목은 이름을 자유롭게 지정해서 가져올 수 있다. 

//router.js;

export default globalRouter;

//server.js

import tomato from "./router";


import와 export를 사용하면 코드가 더 모듈화되어  관리가 쉬워지고, 재사용성이 높아진다.


다시말해서 모듈화를 통해 코드를 분리하면, 각 파일이 독립적으로 관리되므로, 협업할 때 코드 충돌을 줄일 수 있고,
유지보수도 용이해지며, 특정 기능을 다른 프로젝트에서 재사용할 때도 유용하다.

'개발공부 > Node.js' 카테고리의 다른 글

package.json이 왜 중요할까?  (1) 2025.01.22
왓 더 PUG  (0) 2025.01.11
[Node.js] middleware - morgan  (0) 2025.01.03
[node.js] middleware  (0) 2025.01.03
Node. js  (0) 2025.01.01