Подтвердить что ты не робот

Javascript import из '/folder' с index.js

Я заметил несколько случаев, когда я видел что-то вроде следующего:

// /reducers/reducer1.js
export default function reducer1(state = {}, action){
  // etc...
}
  
// /reducers/reducer2.js
export default function reducer2(state = {}, action){
  // etc...
}

// /reducers/index.js
import { combineReducers } from 'redux';
import reducer1 from './reducer1';
import reducer2 from './reducer2';

export default combineReducers({
  reducer1,
  reducer2
})
  
// /store.js
import masterReducer from './reducers';

export default function makeStore(){
  // etc...
}
4b9b3361

Ответ 1

Является ли это частью спецификации?

Нет. Как идентификаторы модулей ('./reducers' в вашем случае) разрешены, фактические модули оставляются для реализации загрузчика/соединителя модуля, который не определен ES6. И это, кажется, не указано в CommonJs.

Это как раз то, как node делает это, когда требуется каталог, будет использоваться файл index.js. Такие соглашения, как browserify или webpack, следуют этому соглашению (по соображениям совместимости).