⊗jsSpMdDI 218 of 294 menu

Dynamiczny import modułów ES w JavaScript

Moduły ES można importować dynamicznie. Ta funkcjonalność bywa czasem przydatna. Zobaczmy, jak to się robi. Załóżmy, że mamy następujący moduł:

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

Załóżmy, że chcemy zaimportować ten moduł nie od razu, ale po jakimś zdarzeniu, na przykład po kliknięciu przycisku:

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

Zaimportujmy moduł za pomocą polecenia import:

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

Polecenie import zwraca obietnicę (promise):

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

Do zmiennej callback trafi obiekt z wyeksportowanymi funkcjami:

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

To, co jest eksportowane domyślnie, będzie znajdować się pod kluczem default:

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

Można wykonać destrukturyzację przy imporcie:

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

Stwórz moduł eksportujący tablicę nazw dni tygodnia. Po naciśnięciu przycisku zaimportuj ten moduł i wyświetl dni tygodnia w postaci listy ul.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć