Pengenalan:
Dalam ES6, penyata import membenarkan kami mengimport modul dan menyediakan eksport lalai dengan nama tertentu. Walau bagaimanapun, bolehkah kita menetapkan nama pembolehubah kepada modul yang diimport berdasarkan nilai masa jalan?
Soalan:
Adakah mungkin untuk mengimport modul dengan nama pembolehubah semasa masa jalan menggunakan Pernyataan import ES6, serupa dengan corak ini:
<code class="javascript">import something from './utils/' + variableName;</code>
Jawapan:
Malangnya, sintaks ini tidak sah untuk pernyataan import ES6. Import dan eksport dalam ES6 boleh dianalisis secara statik dan tidak boleh bergantung pada maklumat masa jalan.
Pendekatan Alternatif:
Untuk mencapai gelagat import dinamik, anda boleh menggunakan API pemuat (polyfill ), yang menawarkan kaedah yang dipanggil 'System.import'. Kaedah ini mengambil penentu modul sebagai hujah dan mengembalikan janji yang diselesaikan kepada modul yang diimport:
<code class="javascript">System.import('./utils/' + variableName).then(function(m) { console.log(m); });</code>
Perhatikan bahawa keserasian dan sokongan untuk API pemuat berbeza-beza merentas platform dan penyemak imbas yang berbeza.
Atas ialah kandungan terperinci Bolehkah Kami Mengimport Modul ES6 dengan Nama Pembolehubah Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!