inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Next.js 시작하기(feat. 지도 서비스 개발)

스토어 json 가져올 때, '.default' 를 하는 이유?

해결된 질문

561

poan1221

작성한 질문수 1

2

const stores = (await import('../public/stores.json')).default;

라고 next api routes로 변경전에 json 파일을 가져오는데, '.default' 를 붙이는 이유가 있을까요?

정확히 무슨 의미인지 알고 싶습니다.

seo next.js vercel csr ssg ssr

답변 1

3

박용주

안녕하세요! 질문 감사합니다 :)

결론부터 말하면 그렇게 작성하는 것이 json 파일을 ES module로 가져오는 문법이기 때문입니다.

'js' 파일을 import할 때는 일반적으로 알려져 있듯

const { 
  default: defaultImport, // default import
  namedExport1, // named import
  namedExport2 // named import
} = await import('./mixedExportModule.js')

이런식으로 간단히 작성하면 됩니다. (js파일에서 'export default'한 값은 default로, 'export'한 값은 named로 import하기)

하지만 json 파일의 경우 개발자가 default나 named를 정해줄 수 없습니다. 따라서 문법적으로 default import만을 허용하고 named import는 허용하지 않습니다.
따라서 '.default' 를 작성해야 json 파일에 해댱하는 객체를 가져올 수 있습니다.

image(IDE에서 'default'만 자동완성 해주는 모습)

제 설명보다 더 자세한 블로그 글이 있으니 참고하시면 좋을 것 같습니다ㅎㅎhttps://ui.toast.com/posts/ko_20211209#2-json-%EB%AA%A8%EB%93%88-%EC%A0%9C%EC%95%88

감사합니다!

1

poan1221

답변 감사합니다!

이것저것 찾아보았는데, 명확한 답변을 들을 수 있어 너무 좋네요!

이해해 도움을 주셔서 감사합니다!

API 라우터를 사용해야 하는 경우에 대해

1

150

1

키보드 어떤 거 사용하시나요

1

352

1

next.js 멀티플 런타임 관련해서 질문 올립니다..

1

358

2

아주 기초적인 질문입니다.

1

322

1

서버사이드 렌더링을 할 때, 서버는 어디에 있는 건가요?

1

1170

2

수업을 듣다가 SSR에 관하여..

1

551

2

interface 와 type

1

376

1

엘리맨트들의 자식관계가 어떻게 이렇게 되나 궁금합니다.

1

384

1

onLoad함수 (script태그의 onLoad X)

1

426

1

dynamic에 대한 질문

1

447

1

SSR vs SSG

1

476

2

NoSSR 관련한 질문입니다:)

1

376

1

a tag 질문 !

1

327

2

8분 20초 배포 관련

1

324

2

안녕하세요! 구글 서치 콘솔에 등록하는 도중 다음 오류가 뜹니다

0

2678

2

emotion styles 파일이 빌드시 경고로 뜹니다.

1

438

1

naver map 이 출력되지 않습니다.

1

481

1

페이지에 site맵 존재시 next Link는 csr 처럼 싹가져오게 되나요?

1

264

2

Failed to load resource: the server responded with a status of 404 ()

1

1034

2

VSCode 익스텐션 궁금합니다.

1

356

1

상태관리 질문 있습니다!

1

449

1

swr에 대한 질문입니다. (용어 관련)

1

372

1

swr 질문입니다!

1

337

1

안녕하세요. span 태그의 부모에 display: flex 를 적용하는데 왜 적용되는지 아무리 생각해도 이해가 되지 않아 질문드립니다.

1

679

2