TIL/React

[TIL] import / export 문법

fleur75 2023. 8. 25. 17:04

고급 자바스크립트 프로젝트나 리액트 프로젝트는

여러 파일에 코드를 분리해 관리하기 쉽게 만드는 것이 좋다.

이를 위해서 import와 export 구문이 사용된다.

1. import / export

[util.js]
export let apiKey = "asdasdaghlkl";

[app.js]
import { apiKey } from "./util.js"
경로는 같은 폴더인 경우 ./ 상위 폴더인 경우 ../ 과 같다.
확장자 .js를 생략해도 빌드 프로세스에서 자동으로 추가된다.

import와 export를 사용하더라도 결과물의 소스 코드를 보면 type="module"이 없는 것을 확인할 수 있는데

이는 빠른 전송을 위해 빌드 프로세스에서 파일을 하나로 합치기 때문이다.

 

2. default

[util.js]
export default "asdasdaghlkl";
export let key = "bkalqol;"

[app.js]
import apiKey from "./util.js"
import { key as apple } from "./util.js"

export시에 default를 사용하면 항상 하나의 함수 혹은 하나의 값을 내보낼 수 있다.

이를 import할 때는 중괄호가 필요하지 않으며 원하는 이름을 지정해야 한다.

default가 아닌 경우에도 as를 이용해 원하는 이름을 지정할 수 있다.

 

3. 객체 import

[util.js]
export default "asdasdaghlkl";
export let key = "bkalqol;"

[app.js]
import * as util from "./util.js"
console.log(util.key) // bkalqol

import하려는 모든 대상의 이름을 쓰는 대신에 *로 표시하면서 as로 이름을 지정해
하나의 객체로 파일을 가져올 수도 있다. 이 때는 점 표기법(.)을 사용해

값이나 함수에 접근할 수 있다.

default의 경우 default라는 이름으로 접근한다.