Etc

javascript - Export (Default vs Named)

SuperDT 2024. 11. 24. 23:04

 

아래 두 방식 중 어떤 것을 사용할지는 프로젝트의 구조와 컨벤션에 따라 결정

일반적으로 Redux에서는 slice 파일에서 reducer는 default export

액션들은 named export로 내보내는 방식이 많이 사용

구문 export default something; export const something = ...;
가져오기 방식 import something from "./file"; import { something } from "./file";
가져오는 이름 임의로 지정 가능 내보낸 이름과 동일해야 함
용도 모듈에서 하나의 기본값 제공 시 모듈에서 여러 값을 내보낼 때

 

1. import reducer from "./todoSlice";

  • Default Export (기본 내보내기) 를 사용할 때 사용
  • 모듈에서 default export로 내보낸 값(객체, 함수, 변수 등)을 가져옴
  • 가져오는 변수 이름은 임의로 정할 수 있음
//todoSlice.js
const reducer = (state, action) => { /* reducer logic */ };
export default reducer;  //Default Export
//Importing default export reducer
import todoReducer from "./todoSlice";
  • 모듈에서 default export로 내보냈기 때문에 todoReducer라는 이름은 임의로 지정
  • import something from 구문은 항상 default export를 가져옴

2) import { reducer } from "./todoSlice";

  • Named Export (이름 기반 내보내기) 를 사용할 때 사용
  • 모듈에서 named export로 내보낸 특정 이름을 가져옴
  • 가져오는 변수 이름은 내보낼 때 지정된 이름과 동일해야 함
//todoSlice.js
export const reducer = (state, action) => { /* reducer logic */ }; 
//Named Export
//Importing named export reducer
import { reducer } from "./todoSlice"; //import {reducer as todoReducer} ...
  • reducer는 todoSlice.js에서 명시적으로 내보낸 이름
  • import { } 구문은 named export를 가져올 때만 사용