經典 CommonJS 模組可讓您在匯入模組時使用 require() 函數將選項傳遞給模組。然而,在 ES6 模組語法中,import 語句不允許這樣的呼叫。
ES6 中沒有簡單的方法可以使用單一 import 語句複製此行為。但是,您可以考慮以下幾種方法:
使用函數預設匯出:
ES6 模組支援預設匯出,您可以使用它來建立包裝函數接受選項。
// module.js export default function(options) { return { // Actual module implementation } } // main.js import m from 'module'; const x = m(someOptions);
Monadic Promises(附模組Loaders):
某些模組載入器,例如 SystemJS,支援單子承諾。這允許您使用名為 ap 的功能將選項傳遞給模組導入。
System.import('module').ap(someOptions).then(function(x) { … });
帶Promises 的動態導入:
最近引入的新導入運算子JavaScript 版本可用於執行動態導入,可以與Promise 鏈結合來傳遞options .
const promise = import('module').then(m => m.default(someOptions));
帶Promise的靜態導入(實驗性):
在實驗性 JavaScript 版本中,可以使用 Promise 執行靜態導入,讓您透過更優雅的選項。
const x = (await import('module')).default(someOptions)
請記住,在選擇方法時,請考慮應用程式的特定要求並確保您正在匯入的模組支援所需的功能。
以上是如何將選項傳遞給 ES6 模組導入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!