Ich muss so etwas tun wie:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
Der obige Code wird nicht kompiliert. es wirft SyntaxError: ... 'import' and 'export' may only appear at the top level
.
Ich habe versucht, System.import
wie hier gezeigt zu verwenden , aber ich weiß nicht, woher es System
kommt. Ist es ein ES6-Vorschlag, der nicht angenommen wurde? Der Link zu "Programmatic API" aus diesem Artikel führt mich zu einer veralteten Dokumentenseite .
package.json
. my gulpfile
prüft dann, ob diese Abhängigkeit besteht, bevor einige Build-Schritte ausgeführt werden.
webpack
und babel
transpiliere es6 zu es5. Projekte wie webpack-rewire
und ähnliche sollen hier nicht helfen - github.com/jhnns/rewire-webpack/issues/12 . Eine Möglichkeit, die Testdoppelwerte festzulegen ODER problematische Abhängigkeiten zu entfernen, könnte der bedingte Import sein.
webpack
Stylesheets in Module konvertiert werden, die die relevanten Stile in die einfügen DOM beim Importieren), aber das Modul muss auch außerhalb des Browsers ausgeführt werden (z. B. zum Testen von Einheiten).