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 ayuda y referencias. He resuelto mi problema con muchas pistas. Me gustaría compartir algunos casos comunes para mí y las soluciones.
importaciones de exportación
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 con nombre
export {a, b as name1} from '...';
reexportar importación predeterminada como exportación predeterminada
export {default} from '...';
reexportar importación predeterminada como exportación con nombre
export {default as name1} from '...';
import
export
ecmascript-6
Yao Zhao
fuente
fuente
export {React}
pero de nuevo, si necesitas Reaccionar en algún lugar, solo debes importarlo allí.export * as name1 from '...';
esto no funciona para mí (usando webpack 2). ¿Algunas ideas?Respuestas:
A menudo hago lo siguiente en los archivos index.js que componen varios archivos:
Esta entrada de blog proporciona algunos buenos ejemplos adicionales.
Nota IMPORTANTE
Debe tener en cuenta esta regla de eslint al acceder a estas importaciones exportadas. Básicamente, en otro archivo, no deberías:
Usted debe hacer esto:
fuente
Puede exportar archivos importados con dicha estructura
fuente
Para mi caso de uso, necesito explícitamente algún tipo de declaración de importación explícita para que Babel pueda transpilar mi código es7 a es5.
Los siguientes resultados en un error
You gave us a visitor for the node type "ForAwaitStatement" but it's not a valid type
:Mi solución fue importar explícitamente el módulo usando
require()
:fuente
Dado
./foo.js
:Entonces deberías poder hacer esto:
La sintaxis sigue más o menos el patrón commonjs module.exports, donde haría esto:
Más aquí:
http://exploringjs.com/es6/ch_modules.html
fuente
Debería poder hacerlo
export {React}
e importarlo a través deimport {React} from ./module
Consulte https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export para obtener más información.
fuente