web-dev-qa-db-fra.com

ES6, comment exporter un module importé sur une seule ligne?

Je voudrais ce qui suit mais avec une seule ligne, si possible:

  • import Module from './Module/Module;
  • export Module;

J'ai essayé ce qui suit mais cela ne semble pas fonctionner:

  • export Module from './Module/Module;
62
Detuned
export {default as Module} from './Module/Module';

est le mode standard ES6, tant que vous n'avez pas besoin de Module pour être également disponible dans le module effectuant l'exportation.

export Module from './Module/Module;

eSnext est une méthode proposée pour le faire, mais cela ne fonctionne que si vous l'avez activé dans Babel pour le moment.

114
loganfsmyth

Je ne sais pas pourquoi mais ça marche pour moi: 

index.jsx:

import Component from './Component';
import Component2 from './Component2';
import Component3 from './Component3';
import Component4 from './Component4';

export {Component, Component2, Component3, Component4};

J'importe les exportations comme ceci: 

import {Component, Component2, Component3, Component4} from '../componets/index';
10
Kamuran Sönecek

Veuillez noter que vous pouvez également réexporter tout depuis un module:

export * from './Module/Module';
7
RynoRn

J'ai donc trouvé que cela fonctionnait assez bien pour la fonctionnalité d'exportation immédiate consistant à avoir un index.js à la racine du répertoire components pour faciliter le référencement:

import Component from './Component/Component'
import ComponentTwo from './ComponentTwo/ComponentTwo'

module.exports = {
  Component,
  ComponentTwo
};

Vous devez utiliser module.exports.

1
Detuned

Pour les composants natifs de React, cette syntaxe fonctionne pour moi:

export {default} from 'react-native-swiper';
0
Cherniv