⊗jsSpMdDI 218 of 294 menu

การนำเข้า ES modules แบบไดนามิกใน JavaScript

ES modules สามารถนำเข้าแบบไดนามิกได้ ความสามารถนี้บางครั้งก็มีประโยชน์ มาดูกันว่าทำได้อย่างไร สมมติว่าเรามีโมดูลต่อไปนี้:

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

สมมติว่าเราต้องการนำเข้าโมดูลนี้ ไม่ใช่ทันที แต่เกิดจากเหตุการณ์บางอย่าง เช่น การคลิกที่ปุ่ม:

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

นำเข้าโมดูลด้วยคำสั่ง import:

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

คำสั่ง import จะคืนค่า เป็นพรอมิส:

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

ในตัวแปรของ callback จะได้รับอ็อบเจ็กต์ ที่ประกอบด้วยฟังก์ชันที่ส่งออก:

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

สิ่งที่ส่งออกโดยค่าเริ่มต้น จะอยู่ในคีย์ default:

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

สามารถทำการดีสตรักเจอริง ขณะนำเข้าได้:

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

สร้างโมดูลที่ส่งออกอาร์เรย์ ของชื่อวันในสัปดาห์ เมื่อกดปุ่ม ให้นำเข้าโมดูลนี้และแสดงผล วันในสัปดาห์ในรูปแบบรายการ ul

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ