Heim >Web-Frontend >js-Tutorial >Wie importiere ich alle Module aus einem Verzeichnis in JavaScript?

Wie importiere ich alle Module aus einem Verzeichnis in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 21:32:12128Durchsuche

How to Import All Modules from a Directory in JavaScript?

Module aus allen Dateien in einem Verzeichnis mithilfe eines Platzhalters importieren

Beim Arbeiten mit ES6 ist es möglich, mehrere Exporte aus einer einzigen Datei zu importieren unter Verwendung der folgenden Syntax:

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

Aus organisatorischen Gründen kann es jedoch vorzuziehen sein, ein Modul pro Datei zu haben. Dies führt zu Importen, die wie folgt aussehen:

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

Ein ideales Szenario wäre, Module aus allen Dateien in einem Verzeichnis mit einem Platzhalter zu importieren, etwa so:

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

Dies würde einhalten gemäß der Konvention, dass jede Datei einen einzelnen Standardexport enthält und dieser den gleichen Namen wie seine Datei trägt.

Machbarkeit von Platzhalter

Leider wird der Import von Modulen mit Platzhaltern derzeit in JavaScript nicht unterstützt. Die Auflösung von Modulnamen wird von Modulladern übernommen, und möglicherweise gibt es bestimmte Implementierungen, die diese Funktionalität unterstützen.

Alternative Lösung

Wenn keine Platzhalterunterstützung vorhanden ist, können Sie dies tun Erstellen Sie eine Zwischen-„Moduldatei“ unter lib/things/index.js, die Folgendes enthält:

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

Dadurch können Sie die gewünschten Module mit importieren eine einzige Aussage:

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

Das obige ist der detaillierte Inhalt vonWie importiere ich alle Module aus einem Verzeichnis in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn