ES modules များကို JavaScript တွင် Dynamic Import လုပ်ခြင်း
ES modules များကို dynamic အဖြစ် import လုပ်နိုင်ပါသည်။ ဤစွမ်းရည်သည် တစ်ခါတစ်ရံတွင် အသုံးဝင်တတ်ပါသည်။ ဤလုပ်ဆောင်ချက်ကို မည်သို့လုပ်ဆောင်ရမည်ကို ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါ module ရှိသည်ဆိုပါစို့။
export function func1() {
return '1'
}
export function func2() {
return '2'
}
export default function() {
return 'text';
};
ဤ module ကို ချက်ချင်းမဟုတ်ဘဲ ခလုတ်တစ်ခုကို ကလစ်နှိပ်သည့် အခါကဲ့သို့သော အခြေအနေတစ်ခုခုပေါ်မူတည်၍ import လုပ်လိုသည်ဆိုပါစို့။
btn.addEventListener('click', function() {
});
import command ကို အသုံးပြု၍ module ကို import လုပ်မည်။
btn.addEventListener('click', function() {
import('./test.js');
});
import command ၏ ရလဒ်သည် promise တစ်ခုကို ပြန်ပေးသည်။
btn.addEventListener('click', function() {
import('./test.js').then(mod => {
});
});
Callback function ၏ variable အတွင်းသို့ export လုပ်ထားသော function များပါဝင်သည့် object ဝင်လာမည်။
btn.addEventListener('click', function() {
import('./test.js').then(mod => {
let res1 = mod.func1();
let res2 = mod.func2();
console.log(res1, res2);
});
});
Default အဖြစ် export လုပ်ထားသောအရာသည် default key အတွင်း၌ ရှိနေမည်။
btn.addEventListener('click', function() {
import('./test.js').then(mod => {
let dfn = mod.default;
console.log(dfn);
});
});
Import လုပ်စဉ်တွင် destructuring လုပ်နိုင်ပါသည်။
btn.addEventListener('click', function() {
import('./test.js').then(({func1, func2}) => {
let res1 = func1();
let res2 = func2();
console.log(res1, res2);
});
});
တစ်ပတ်အတွင်းရှိ ရက်သတ္တပတ်၏ အမည်များ array တစ်ခုကို export လုပ်သည့် module တစ်ခုကို ဖန်တီးပါ။
ခလုတ်တစ်ခုကို နှိပ်လိုက်သောအခါ ထို module ကို import လုပ်ပြီး ရက်သတ္တပတ်များကို ul list အဖြစ် ပြသပါ။