Exportieren Sie mehrere Klassen in ES6-Modulen
Ich versuche, ein Modul zu kreieren, dass die Exporte mehrere ES6-Klassen. Sagen wir, ich habe die folgende Verzeichnisstruktur:
my/
└── module/
├── Foo.js
├── Bar.js
└── index.js
Foo.js
und Bar.js
jedem export eine Standard ES6-Klasse:
//Foo.js
export default class Foo {
//class definition
}
//Bar.js
export default class Bar {
//class definition
}
Ich habe momentan mein index.js
wie folgt eingerichtet:
import Foo from './Foo';
import Bar from './Bar';
export default {
Foo,
Bar,
}
Aber ich bin nicht in der Lage, zu importieren. Ich möchte in der Lage sein, dies zu tun, aber die Klassen nicht gefunden werden:
import {Foo, Bar} from 'my/module';
Was ist die richtige Art und Weise zu exportieren, mehrere Klassen in einer ES6-Modul?
Kommentar zu dem Problem - Öffnen
verwenden Sie einfach die
export
, ohne die Standard - Sie können nur ein
default
"exportieren". Stell dir vor, wenn jemand versucht, das zu tun "importieren" SomeClass "meine/Modul'
. Dies würde automatisch importieren Sie die default
- Modul von diesem Pfad. Wenn Sie hatte mehrere Standard-Exporte gibt, wie würden Sie wissen, was man importieren? InformationsquelleAutor der Frage cody | 2016-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese in Ihrem code:
Btw, können Sie auch tun, es auf diese Weise:
Mit
export
Den Unterschied zu
export default
ist, dass Sie exportiert werden können, etwas, und wenden Sie den Namen, wo Sie es importieren
InformationsquelleAutor der Antwort webdeb
Hoffe, das hilft:
InformationsquelleAutor der Antwort Syed
@webdeb die Antwort nicht für mich arbeiten, ich traf einen
unexpected token
Fehler beim kompilieren des ES6 mit Babel zu tun mit dem Namen default exportiert.Dieser arbeitete für mich, aber:
InformationsquelleAutor der Antwort inostia
Export der Instanzen der Klassen können Sie diese syntax verwenden:
InformationsquelleAutor der Antwort Schmidko