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