Maison >interface Web >js tutoriel >Comment importer tous les modules d'un répertoire en JavaScript ?

Comment importer tous les modules d'un répertoire en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 21:32:12128parcourir

How to Import All Modules from a Directory in JavaScript?

Importation de modules à partir de tous les fichiers d'un répertoire à l'aide d'un caractère générique

Lorsque vous travaillez avec ES6, il est possible d'importer plusieurs exportations à partir d'un seul fichier en utilisant la syntaxe suivante :

import {ThingA, ThingB, ThingC} from 'lib/things';

Cependant, pour des raisons d'organisation, il peut être préférable d'avoir un module par fichier. Cela conduit à des importations ressemblant à ce qui suit :

import ThingA from 'lib/things/ThingA';
import ThingB from 'lib/things/ThingB';
import ThingC from 'lib/things/ThingC';

Un scénario idéal serait d'importer des modules à partir de tous les fichiers d'un répertoire à l'aide d'un caractère générique, comme ceci :

import {ThingA, ThingB, ThingC} from 'lib/things/*';

Cela respecterait à la convention selon laquelle chaque fichier contient une seule exportation par défaut et le nomme de la même manière que son fichier.

Faisabilité de Caractères génériques

Malheureusement, l'importation de modules à l'aide de caractères génériques n'est actuellement pas prise en charge en JavaScript. La résolution du nom de module est gérée par les chargeurs de modules, et il peut y avoir des implémentations spécifiques qui prennent en charge cette fonctionnalité.

Solution alternative

En l'absence de prise en charge des caractères génériques, vous pouvez créez un "fichier module" intermédiaire dans lib/things/index.js contenant les éléments suivants :

export * from 'ThingA';
export * from 'ThingB';
export * from 'ThingC';

Cela vous permet d'importer les modules souhaités en utilisant une seule déclaration :

import {ThingA, ThingB, ThingC} from 'lib/things';

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn