Me he dado cuenta de un par de casos en donde he visto algo como lo siguiente:

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...
}

Aviso de la última «archivo», donde llamamos a import masterReducer from './reducers' – algunas personas parecen creer esto debe importar el default export de la index.js archivo.

Esto es realmente parte de la especificación? – mi interpretación/pregunta es que este es el resultado de muchas personas el uso de WebPack v1 que se traduce import declaraciones en CommonJS estilo requires declaraciones? O se esta ruptura en WebPack v2 con el «oficial» import/export apoyo?

  • Con webpack no estoy seguro, pero si haces uso de babel debe transpile abajo para exigir las declaraciones
  • impresionante nombre (uno de mis programas favoritos) – ¿estás seguro de que es el caso si el uso de la babel-preset-es2015-natal-paquete de módulos (preset ‘es2015-natal-módulos – el que recomienda que utilice para obtener apoyo para el árbol de agitación w/ import declaraciones con WebPack 2)?
  • No compilado, pero usted puede ver algunos de varios de exportación/importación de métodos en mi juegos de repo. Todavía estoy aprendiendo transpiling a mí mismo
InformationsquelleAutor Jordan | 2016-02-16

1 Comentario

  1. 58

    Esto es realmente parte de la especificación?

    No. Cómo identificadores de módulo ('./reducers' en su caso) se resuelven en el real módulos se deja a la implementación del módulo cargador/bundler, no especificados por ES6. Y no parece ser especificado en CommonJs bien.

    Esta es la forma en que nodo es – cuando se requiere un directorio, es index.js archivo será usado. Preparadores como browserify o webpack seguido este convenio (para compatibilidad razones).

    • Ah, supongo que no he entendido la pregunta (debería haber buscado en el título, en realidad). fwiw, webpack puede ser configurado para resolver a otros archivos de index.js.
    • Ah, yo ni siquiera mirar eso. ¿Tienes un enlace, no podía encontrar la config?
    • Hmm, después de mirar de nuevo, supongo que vendrá en webpack 2.0, no en la versión actual.

Dejar respuesta

Please enter your comment!
Please enter your name here