2017-03-18 1 views
0

나는 JS를 공부하고 있으며 이와 비슷한 것을 가지고있다. ./reducers 이후폴더에서 가져 오기 ES6

//all inside folder reducers 

//reducer1.js 
export default reducer1 

//reducer2.js 
export default reducer2 

//index.js 
import reducer1 from './reducer1' 
import reducer2 from './reducer2' 
//then combine reducer 
export default index 

//outside folder reducers 
import reducer from './reducers' 

그냥 폴더 내부 3 수출 기본 3 파일, 나는이 일 수 있는지 이해가 안가? 폴더에서 어떤 기본 내보내기를 가져올 지 어떻게 알 수 있습니까?

감사합니다.

답변

3

Webpack을 사용하면 폴더를 가져올 때 모듈 로더가 폴더 안에 index.js를 가져옵니다. index.js에서 인덱스를 내보내므로 import reducer from './reducers'을 가져올 때 가져올 수 있습니다. 폴더 가져 오기는 import reducer from reducers/index의 줄임말 일뿐입니다. 두 가지 import 문이 동일하다는 것을 의미합니다.

요약하면 import reducer from './reducers'import reducer from reducers/index과 동일합니다.

+0

고맙습니다! 그래서 우리가 폴더에서 뭔가를 가져 오려면 기본적으로 파일의 이름을 index.js로 지정해야합니까? –

+0

@ Quoc-Hao-Tran. 예 또는 명시 적으로 파일의 이름을 지정해야합니다. 예 : 'reducers/myReducer에서 가져 오기 감속기 ' –

+1

* "ES6 사용"*이 동작은 ES6/JavaScript와 관련이 없습니다. 모듈 식별자를 해석하는 방법은 * module loader * 환경이나 사용되는 모듈 bundler에 따라 다릅니다. 설명하는 동작은 NodeJS 및 webpack에 공통적입니다. –