티스토리 뷰

구문 오류: 요청된 '*.js'가 'default'라는 내보내기를 제공하지 않습니다.

default를 사용하지 않고 export만 사용했는데 문제가 발생하였습니다

계속 값을 왜 못찾지 default를 사용하지도 않았는데 이런 생각을 하게 되어

> export / export default차이점

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/export

을 보고 차이점을 잘 보게 되었습니다.

export: 한 파일(.js) 안에서 여러개를 내보낼 수 있다.

export default: 한 파일(.js)안에서 한개만 내보낼 수 있다.

 

 

현재 export, export default를 사용하고 있습니다.

그리고 다음과 같은 문제는 여러 폴더(.js)에서 import를 받을 때 문제가 발생하는 것으로 파악을 했습니다.

즉 .js 의 순환에 따라서 보면 export default가 되어 있지 않은 파일을 여러 곳에서 import 하면 충돌이 일어나서 문제가 발생할 수 있다는 것이 저의 생각입니다. 

그래서 다음과 같이 해결방안을 내었습니다.

 

 

> 해결

 

1. export default를 사용합니다.

  • import 를 여러번 하는 파일을 더 잘게 쪼개서 한 파일당 하나의 export default가 되도록 하여 해결하였습니다.

 

 

+ tip

.js 순환 문제를 해결하기 위한 방법

< c언어의 header 같이 .js 파일을 만들어 줍니다.>

export * from './aaa';
export * from './bbb';
export * from './ccc'; 

//해당 파일만 import 하는 방법

https://ljs0705.medium.com/js-%EB%AA%A8%EB%93%88-%EC%8B%9C%EC%8A%A4%ED%85%9C%EA%B3%BC-%EC%88%9C%ED%99%98-%EC%B0%B8%EC%A1%B0-%EB%AC%B8%EC%A0%9C-a9e0c90c07e5

 

JS 모듈 시스템과 순환 참조 문제

자바스크립트의 모듈 시스템이 동작하는 방식을 이해해보자. 그리고 순환 참조 시 발생할 수 있는 문제와 해결책을 알아보자.

ljs0705.medium.com

https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de

 

How to fix nasty circular dependency issues once and for all in JavaScript & TypeScript

Getting a grip on module loading order beyond trial and error

medium.com

 

> github 문제 파악

https://github.com/js-cookie/js-cookie/issues/407

 

SyntaxError: import not found: default (js.cookie-2.2.0.min.js) · Issue #407 · js-cookie/js-cookie

This is what is stated as valid import syntax in documentation: import Cookies from 'js-cookie'; But that does produce following error: SyntaxError: import not found: default In the followi...

github.com

 

반응형

'Tip and Error > Javascript' 카테고리의 다른 글

JS 예쁘게 만들기(ESlint, Prettier)  (0) 2021.09.06
옵셔널 체이닝 < Optional chaining (?.) >  (0) 2021.08.28
forEach, map, filter, reduce  (0) 2021.08.13
배열, 객체 복사  (0) 2021.08.07
[JS Site]  (0) 2021.07.24
공지사항
최근에 올라온 글