⊗jsSpMdDI 218 of 294 menu

Dynamischer Import von ES-Modulen in JavaScript

ES-Module können dynamisch importiert werden. Diese Funktion ist manchmal nützlich. Lassen Sie uns sehen, wie das gemacht wird. Nehmen wir an, wir haben das folgende Modul:

export function func1() { return '1' } export function func2() { return '2' } export default function() { return 'text'; };

Nehmen wir an, wir möchten dieses Modul nicht sofort, sondern bei einem bestimmten Ereignis importieren, zum Beispiel beim Klick auf eine Schaltfläche:

btn.addEventListener('click', function() { });

Importieren wir das Modul mit dem Befehl import:

btn.addEventListener('click', function() { import('./test.js'); });

Der Befehl import liefert als Ergebnis ein Promise zurück:

btn.addEventListener('click', function() { import('./test.js').then(mod => { }); });

In die Callback-Variable wird ein Objekt mit den exportierten Funktionen übergeben:

btn.addEventListener('click', function() { import('./test.js').then(mod => { let res1 = mod.func1(); let res2 = mod.func2(); console.log(res1, res2); }); });

Was standardmäßig exportiert wird, befindet sich im Schlüssel default:

btn.addEventListener('click', function() { import('./test.js').then(mod => { let dfn = mod.default; console.log(dfn); }); });

Beim Import kann eine Destrukturierung durchgeführt werden:

btn.addEventListener('click', function() { import('./test.js').then(({func1, func2}) => { let res1 = func1(); let res2 = func2(); console.log(res1, res2); }); });

Erstellen Sie ein Modul, das ein Array mit den Namen der Wochentage exportiert. Bei einem Klick auf eine Schaltfläche importieren Sie dieses Modul und geben Sie die Wochentage als Liste ul aus.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen