¿Cómo exportar un objeto importado en ES6?
El caso de uso es simple: solo quiero exportar un objeto con el nombre tal como se importó.
Por ejemplo:
import React from 'react';
export React;
Pero esto no funciona. Tengo que escribir:
import React from 'react';
export const React = React;
Pero esto es extraño. ¿Cuál es la forma correcta de hacer esto?
ACTUALIZADO :
Gracias por la ayuda y las referencias. He resuelto mi problema con muchas pistas. Me gustaría compartir algunos casos comunes para mí y las soluciones.
exportar importaciones
import d, {obj} from '...';
export {obj, d};
export {obj as name1, d as name2};
reexportar todas las importaciones nombradas
export * from '...';
export * as name1 from '...';
reexportar algunas importaciones nombradas
export {a, b as name1} from '...';
reexportar importación predeterminada como exportación predeterminada
export {default} from '...';
reexportar la importación predeterminada como exportación nombrada
export {default as name1} from '...';
Aceptado
A menudo hago lo siguiente en archivos index.js que componen varios archivos:
export {default as SomeClass} from './SomeClass';
export {someFunction} from './utils';
export {default as React} from 'react';
Esta entrada de blog proporciona algunos buenos ejemplos adicionales.
Nota IMPORTANTE
Debe tener en cuenta esta regla eslint al acceder a estas importaciones exportadas. Básicamente, en otro archivo, no deberías:
import SomeClassModule from 'SomeClass/index.js';
SomeClassModule.someFunction(); // Oops, error
Usted debe hacer esto:
import SomeClassModule, {someFunction} from 'SomeClass/index.js';
someFunction(); // Ok
Podrías exportar un archivo importado con dicha estructura.
import First from './First'
import Second from './Second'
/..../
export { First, Second }