J'ai remarqué quelques cas où j'ai vu quelque chose comme ce qui suit:
// /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...
}
Notez le dernier "fichier" où nous appelons import masterReducer from './reducers'
- Quelques personnes semblent croire que cela devrait importer le default export
du fichier index.js.
Cela fait-il réellement partie de la spécification? - mon interprétation/question est que ceci est le résultat de beaucoup de gens utilisant WebPack v1 qui traduisent les instructions import
en déclarations CommonJS de style requires
? Ou bien cette rupture dans WebPack v2 avec le support "officiel" import
/export
?
Cela fait-il réellement partie de la spécification?
N ° Comment identificateurs de module ('./reducers'
_ dans votre cas) sont résolus aux modules réels est laissé à la mise en œuvre du module chargeur/bundler, ce n'est pas spécifié par ES6. Et cela ne semble pas être spécifié dans CommonJs non plus.
C’est comme ça que le noeud le fait - quand vous avez besoin d’un répertoire, c’est index.js
fichier sera utilisé. Des groupes comme browserify ou webpack ont suivi cette convention (pour des raisons de compatibilité).