首頁  >  文章  >  web前端  >  我們可以導入有動態變數名的 ES6 模組嗎?

我們可以導入有動態變數名的 ES6 模組嗎?

Barbara Streisand
Barbara Streisand原創
2024-10-27 07:35:29734瀏覽

 Can We Import ES6 Modules with Dynamic Variable Names?

使用變數變數名稱自訂ES6模組匯入

簡介:

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn