Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
In RunJS können Sie zwei Arten von Modulen verwenden: Integrierte Module (direkter Zugriff über ctx.libs ohne Import) und Externe Module (Laden bei Bedarf über ctx.importAsync() oder ctx.requireAsync()).
RunJS enthält gängige Bibliotheken, auf die direkt über ctx.libs zugegriffen werden kann. Sie müssen diese nicht per import oder asynchron laden.
| Eigenschaft | Beschreibung |
|---|---|
| ctx.libs.React | React-Kern, verwendet für JSX und Hooks |
| ctx.libs.ReactDOM | ReactDOM (kann für createRoot etc. verwendet werden) |
| ctx.libs.antd | Ant Design Komponenten-Bibliothek |
| ctx.libs.antdIcons | Ant Design Icons |
| ctx.libs.math | Math.js: Mathematische Ausdrücke, Matrix-Operationen etc. |
| ctx.libs.formula | Formula.js: Excel-ähnliche Formeln (SUM, AVERAGE etc.) |
Wenn Sie Bibliotheken von Drittanbietern benötigen, wählen Sie die Lademethode basierend auf dem Modulformat:
ctx.importAsync()ctx.requireAsync()Verwenden Sie ctx.importAsync(), um ESM-Module dynamisch über eine URL zu laden. Dies eignet sich für Szenarien wie JS-Blöcke, JS-Felder und JS-Aktionen.
<Paket>@<Version> oder Unterpfade wie <Paket>@<Version>/<Dateipfad> (z. B. vue@3.4.0, lodash@4/lodash.js). Diesen wird das konfigurierte CDN-Präfix vorangestellt. Vollständige URLs werden ebenfalls unterstützt.Wenn nichts anderes konfiguriert ist, verwenden Kurzformen https://esm.sh als CDN-Präfix. Beispiel:
Wenn Sie ein internes Netzwerk oder ein eigenes CDN benötigen, können Sie einen Dienst bereitstellen, der mit dem esm.sh-Protokoll kompatibel ist, und diesen über Umgebungsvariablen angeben:
https://esm.sh)/+esm für jsDelivr)Informationen zum Selbsthosten finden Sie unter: https://github.com/nocobase/esm-server
Verwenden Sie ctx.requireAsync(), um UMD/AMD-Module oder Skripte, die sich an das globale Objekt binden, asynchron zu laden.
<Paket>@<Version>/<Dateipfad>, ähnlich wie bei ctx.importAsync(), aufgelöst nach der aktuellen ESM-CDN-Konfiguration. Bei der Auflösung wird ?raw angehängt, um die Rohdatei direkt anzufordern (meist ein UMD-Build). Beispielsweise fordert echarts@5/dist/echarts.min.js tatsächlich https://esm.sh/echarts@5/dist/echarts.min.js?raw an (bei Verwendung des Standard-esm.sh).https://cdn.jsdelivr.net/npm/xxx).Nach dem Laden binden sich viele UMD-Bibliotheken an das globale Objekt (z. B. window.xxx). Sie können diese wie in der Dokumentation der jeweiligen Bibliothek beschrieben verwenden.
Beispiel
Hinweis: Wenn eine Bibliothek eine ESM-Version anbietet, sollten Sie bevorzugt ctx.importAsync() verwenden, um eine bessere Modulsemantik und Tree-Shaking zu erhalten.