J'ai besoin de faire quelque chose comme:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
Le code ci-dessus ne compile pas; il jette SyntaxError: ... 'import' and 'export' may only appear at the top level.
J'ai essayé d'utiliser System.importcomme indiqué ici , mais je ne sais pas d'où Systemvient. Est-ce une proposition ES6 qui n'a finalement pas été acceptée? Le lien vers "API programmatique" de cet article me renvoie vers une page de documentation obsolète .
package.json; my gulpfilevérifie ensuite si cette dépendance existe avant d'effectuer certaines étapes de construction.
webpacket babeltranspile es6 en es5. Les projets comme webpack-rewireet similaires ne sont d'aucune utilité ici - github.com/jhnns/rewire-webpack/issues/12 . Une façon de définir les doubles de test OU de supprimer les dépendances problématiques pourrait être l'importation conditionnelle.
webpackest utilisé pour convertir les feuilles de style en modules qui insèrent les styles pertinents dans le DOM lorsqu'ils sont importés) mais le module doit également s'exécuter en dehors du navigateur (par exemple pour les tests unitaires).