⊗jsSpMdDI 218 of 294 menu

Dynamisk import av ES-moduler i JavaScript

ES-moduler kan importeras dynamiskt. Denna funktion är ibland användbar. Låt oss se hur det går till. Låt oss säga att vi har följande modul:

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

Låt oss säga att vi vill importera denna modul inte direkt, utan vid ett visst event, till exempel vid klick på en knapp:

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

Importera modulen med kommandot import:

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

Kommandot import returnerar ett löfte (promise) som resultat:

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

I callbackens variabel kommer ett objekt med de exporterade funktionerna att hamna:

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

Det som exporteras som standard kommer att finnas i nyckeln default:

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

Man kan använda destructuring vid import:

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

Skapa en modul som exporterar en array med veckodagars namn. Vid klick på en knapp importera denna modul och skriv ut veckodagarna som en lista ul.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa