297 votes

Comment exporter un objet importé dans l’ES6 ?

Le cas d'utilisation est simple: je veux juste exporter un objet avec le nom exactement comme il a été importé.

par exemple:

import React from 'react';
export React;

mais cela ne fonctionne pas. Je dois écrire:

import React from 'react';
export const React = React;

Mais c'est étrange. Quelle est la bonne façon de le faire?

Mise à JOUR:

Merci pour l'aide et de références. J'ai résolu mon problème avec de nombreux indices. J'aimerais partager certains cas courants pour moi et les solutions.

exportations importations

import d, {obj} from '...';

export {obj, d};
export {obj as name1, d as name2};

re-exporter tous les nommés des importations

export * from '...';
export * as name1 from '...';

re-exportation de certains nommé importations

export {a, b as name1} from '...';

re-exportation par défaut de l'importation, d'exportation par défaut

export {default} from '...';

re-exportation et d'importation par défaut nommé à l'exportation

export {default as name1} from '...';

162voto

Eric H. Points 1203

Je fais souvent le suivant index.js les fichiers qui composent de plusieurs fichiers:

export {default as SomeClass} from './SomeClass';
export {someFunction} from './utils';
export {default as React} from 'react';

Cette entrée de blog offre quelques beaux exemples supplémentaires.

Remarque importante

Vous devez être conscient de ce eslint-règle lors de l'accès à ces exporté des importations. Pour l'essentiel, dans un autre fichier, vous ne devez pas:

import SomeClassModule from 'SomeClass/index.js';
SomeClassModule.someFunction(); // Oops, error

Vous devriez faire ceci:

import SomeClassModule, {someFunction} from 'SomeClass/index.js';
someFunction(); // Ok

49voto

Igor Dolzhenkov Points 199

Vous pouvez exporter un fichier importé avec une telle structure

1voto

Kacy Raye Points 196

Pour mon cas d’utilisation, j’ai besoin explicitement une sorte d’instruction import explicite afin que babel peut transpile mon code es7 à es5.

Ce qui suit provoque une erreur `` :

Ma solution a été explicitement importer le module à l’aide de `` :

-2voto

Rich Apodaca Points 7327

Compte tenu de `` :

Ensuite, vous devriez être capable de faire cela :

La syntaxe suit plus ou moins le modèle de module.exports de commonjs, où procédez comme suit :

Plus de détails ici :

http://exploringjs.com/ES6/ch_modules.html

-3voto

sheeldotme Points 1223

Vous devriez être capable de faire l’importer via

Voir https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export pour plus d’informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X