it-swarm.com.de

ES6, wie kann ein importiertes Modul in einer Zeile exportiert werden?

Ich möchte folgendes gerne mit einer einzigen Zeile, wenn möglich:

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

Ich habe folgendes versucht, aber es scheint nicht zu funktionieren:

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

ist der Standardweg von ES6, solange Sie nicht Module benötigen, um auch innerhalb des Moduls verfügbar zu sein, das den Export ausführt.

export Module from './Module/Module;

dies ist eine vorgeschlagene ESnext-Methode, die jedoch nur dann funktioniert, wenn Sie sie erst in Babel aktiviert haben.

114
loganfsmyth

Ich weiß nicht warum, aber genau das funktioniert für mich: 

index.jsx:

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

export {Component, Component2, Component3, Component4};

Ich importiere die Exporte folgendermaßen: 

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

Bitte beachten Sie, dass Sie auch alles aus einem Modul erneut exportieren können:

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

Ich habe festgestellt, dass dies für die sofortige Exportfunktion des index.js im Stammverzeichnis des components-Verzeichnisses gut funktioniert, um die Referenzierung zu erleichtern:

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

module.exports = {
  Component,
  ComponentTwo
};

Sie müssen module.exports verwenden.

1
Detuned

Für React Native-Komponenten funktioniert diese Syntax für mich:

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