簡介:
在ES6中,import語句允許我們導入模組並提供具有特定名稱的預設導出。但是,我們可以根據運行時值為導入的模組分配變數名稱嗎?
問題:
是否可以在運行時使用ES6 import 語句,類似於此模式:
<code class="javascript">import something from './utils/' + variableName;</code>
答案:
不幸的是,此語法對於ES6 import 語句無效。 ES6 中的匯入和匯出是靜態可分析的,不能依賴執行時間資訊。
替代方法:
要實現動態導入行為,您可以使用loader API (polyfill ),它提供了一種名為「System.import」的方法。此方法採用模組說明符作為參數,並傳回解析為導入模組的承諾:
<code class="javascript">System.import('./utils/' + variableName).then(function(m) { console.log(m); });</code>
請注意,載入器 API 的兼容性和支援因不同平台和瀏覽器而異。
以上是我們可以導入有動態變數名的 ES6 模組嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!