modulos importar from es6 clases archivos javascript ecmascript-6 webpack babeljs

javascript - from - importar js



ES6 exportando/importando en archivo de índice (4)

Actualmente estoy usando ES6 en una aplicación React a través de webpack / babel. Estoy usando archivos de índice para reunir todos los componentes de un módulo y exportarlos. Desafortunadamente, eso se ve así:

import Comp1_ from ''./Comp1.jsx''; import Comp2_ from ''./Comp2.jsx''; import Comp3_ from ''./Comp3.jsx''; export const Comp1 = Comp1_; export const Comp2 = Comp2_; export const Comp3 = Comp3_;

Así que puedo importarlo desde otros lugares como este:

import { Comp1, Comp2, Comp3 } from ''./components'';

Obviamente, esa no es una solución muy buena, así que me preguntaba si había alguna otra manera. Parece que no puedo exportar el componente importado directamente.


Además, tenga en cuenta que si necesita exportar varias funciones a la vez, como acciones, puede usar

export * from ''./XThingActions'';


Demasiado tarde, pero quiero compartir la forma en que lo resuelvo.

Tener un archivo de model que tiene dos exportaciones con nombre:

export { Schema, Model };

y tener controller archivo controller que tiene la exportación predeterminada:

export default Controller;

Expuse en el archivo de index de esta manera:

import { Schema, Model } from ''./model''; import Controller from ''./controller''; export { Schema, Model, Controller };

y suponiendo que quiero importarlos todos:

import { Schema, Model, Controller } from ''../../path/'';


Puede reexportar fácilmente la importación predeterminada:

export {default as Comp1} from ''./Comp1.jsx''; export {default as Comp2} from ''./Comp2.jsx''; export {default as Comp3} from ''./Comp3.jsx'';

También hay una propuesta para ES7 ES8 que le permitirá escribir export Comp1 from ''…''; .


Tuve un problema con la export * , regresó undefined cuando importaría la función / clase predeterminada ...

Entonces, finalmente lo arreglé con export {default} from ''./MyClass'' y funcionó también