Der Anwendungsfall ist einfach: Ich möchte nur ein Objekt mit dem Namen exportieren, so wie es importiert wurde.
beispielsweise:
import React from 'react';
export React;
aber das funktioniert nicht. Ich muss schreiben:
import React from 'react';
export const React = React;
Aber das ist seltsam. Was ist der richtige Weg, um dies zu tun?
AKTUALISIERT :
Vielen Dank für Hilfe und Hinweise. Ich habe mein Problem mit vielen Hinweisen gelöst. Ich möchte einige häufige Fälle für mich und die Lösungen teilen.
Export Importe
import d, {obj} from '...';
export {obj, d};
export {obj as name1, d as name2};
Exportieren Sie alle benannten Importe erneut
export * from '...';
export * as name1 from '...';
Einige benannte Importe erneut exportieren
export {a, b as name1} from '...';
Standardimport als Standardexport erneut exportieren
export {default} from '...';
Standardimport als benannter Export erneut exportieren
export {default as name1} from '...';
import
export
ecmascript-6
Yao Zhao
quelle
quelle
export {React}
aber wieder, wenn Sie irgendwo reagieren müssen, sollten Sie es einfach dort importieren.export * as name1 from '...';
Dies funktioniert bei mir nicht (mit Webpack 2). Irgendwelche Ideen?Antworten:
In index.js-Dateien, aus denen mehrere Dateien bestehen, mache ich häufig Folgendes:
Dieser Blogeintrag enthält einige nette zusätzliche Beispiele.
Wichtige Notiz
Sie sollten diese Eslint-Regel kennen, wenn Sie auf diese exportierten Importe zugreifen. Grundsätzlich sollten Sie in einer anderen Datei nicht:
Du solltest das tun:
quelle
Sie können importierte Dateien mit einer solchen Struktur exportieren
quelle
Für meinen Anwendungsfall benötige ich explizit eine explizite Importanweisung, damit babel meinen es7-Code in es5 transpilieren kann.
Folgendes führt zu einem Fehler
You gave us a visitor for the node type "ForAwaitStatement" but it's not a valid type
:Meine Lösung bestand darin, das Modul explizit zu importieren, indem ich Folgendes verwendete
require()
:quelle
Gegeben
./foo.js
:Dann sollten Sie dazu in der Lage sein:
Die Syntax folgt mehr oder weniger dem Muster commonjs module.exports, wo Sie dies tun würden:
Mehr hier:
http://exploringjs.com/es6/ch_modules.html
quelle
Sie sollten in der Lage sein,
export {React}
es über zu importierenimport {React} from ./module
Weitere Informationen finden Sie unter https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export .
quelle