Je voudrais créer un tableau des modules que j'importe dans un fichier Main.js
. Comment puis-je accéder à l'objet qui contient les modules importés?
MODIFIER Pour expliquer davantage, j'importe plusieurs classes dans un fichier Main.js
contenant une classe principale. Chacune de ces classes provient de leur propre fichier individuel, me donnant des instructions d'importation comme celle-ci:
import Header from './features/Header.js';
import ImageStrip from './features/ImageStrip.js';
import AreaChart from './features/AreaChart.js';
import Axes from './features/Axes.js';
Existe-t-il un objet JavaScript contenant les modules importés, par exemple quelque chose comme [ Header, ImageStrip, AreaChart, Axes ]
? Ou est-il possible d'en créer un?
3 réponses
Aucune structure de données n'est automatiquement remplie avec les importations du fichier actuel. Vous devrez construire votre propre tableau ou objet qui répertorie manuellement chaque importation.
import Feature1 from './features/Feature1.js';
import Feature2 from './features/Feature2.js';
import {SubFeatureX} from './features/Feature3.js';
const imports = [Feature1, Feature2, {SubFeatureX}];
// or
const imports = {Feature1, Feature2, Feature3: {SubFeatureX}};
Si vous devez créer cette variable dans chaque fichier et que vous vous inquiétez de l'effort de maintenance manuelle des listes, vous pouvez compiler le projet avec Babel et pourrait écrire un plugin Babel pour ajouter cette variable pour vous en haut de chaque fichier.
file.js
export firstFunc() {}
export nextFunc() {}
newFile.js
import * as Obj from "./file.js";
Est-ce que ça fait du sens?
import {firstMethod, secondMethod} from "./firstFile";
import {anotherFirstMethod} from "./secondFile";
export {
firstMethod,
secondMethod,
anotherFirstMethod
};
Ou
import * as Obj from "./firstFile";
import * as Obj2 from "./secondFile";
export {
Obj,
Obj2
};
Questions connexes
Questions liées
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.