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!