将选项传递给 ES6 模块导入
在 ES6 模块导入领域,出现了问题:我们可以将选项传递给这些模块吗?答案在于理解 ES6 import 语句的内在属性和限制。
传统方法
传统上,在 CommonJS 中,我们可以通过调用所需的模块来传递选项,例如所以:
var x = require('module')(someoptions);
ES6 模块等效项
但是,在 ES6 中,此类调用没有直接等效项。 ES6 导入重点是导入模块而不是创建实例。
默认导出作为解决方案
要实现类似的功能,我们可以使用默认导出。我们想要导入的模块可以定义一个默认函数:
// module.js export default function(options) { return { // actual module } }
在我们的主模块中,我们可以导入该模块并调用它,提供选项:
// main.js import m from 'module'; var x = m(someoptions);
探索替代方法
根据您使用的模块加载器,您可能有其他选项。例如,对于支持单子承诺的模块加载器,您可以使用:
System.import('module').ap(someoptions).then(function(x) { … });
结论
不幸的是,没有一种简单的方法将选项传递给ES6 使用单个 import 语句进行导入。然而,通过利用默认导出或利用模块加载器功能,我们可以实现类似的功能。
以上是我可以将选项传递给 ES6 模块导入吗?的详细内容。更多信息请关注PHP中文网其他相关文章!