如何通过名称(从模块本身)访问ES6模块变量
How to access ES6 module variable by name (from the module itself)
在webpack环境中,我有一个ES6模块,它定义了一个变量:
let my_var1 = 0
// other vars follow
然后在同一个模块中,我有一个用于该变量的setter函数,但我想按如下方式构建它:
export const set_var(name, value) => {
// set "value" as new value for "name" variable of this module
}
我想做的是通过名称引用模块内部的变量,因此从外部调用类似set_var('my_var1', 5)
的东西
有办法访问"模块"对象吗?类似于窗口对象的东西,但用于模块。
不,这是不可能的。
您可以通过模块对象按名称访问导出的变量,但不能设置它们
您也不能对window执行此操作,因为let不创建属性。
您可以引用模块中的一个对象,然后设置该对象中键的值(也称为my_var1
)。然后你可以用一个getter:取回my_var1
let moduleObject = {
my_var1: 0,
my_var2: 5,
...
}
export const set_var = (varName, value) => moduleObject[varName] = value
export const get_var = (varName) => moduleObject[varName]
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 从模块内部访问Express装载路径
- 文件结构:使用索引.js文件级联访问子模块或子文件
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 访问模块.从外部文件导出
- JavaScript:访问继承子模块中的“封闭”变量
- j查询模块模式未命名 |如何访问“$”
- 从另一个模块访问作用域的指令
- 从带有木偶的子模块访问父模块的最佳方式
- 如何从解析模块访问全局变量
- 从Browserify模块访问DOM时出现问题
- 如何从子模块访问父方法
- 直接从Angular模块访问常量
- 揭示模块模式:在哪里为模块访问插入变量
- 如何从requirejs模块访问全局变量
- 从diff模块访问模块数据
- 未捕获的ReferenceError: $是未定义的错误,通过Node模块访问
- kendo要求从另一个模块访问视图模型
- 如何使用 node.js 将 JSON 对象从一个模块访问到另一个模块
- node.js:从另一个模块访问本地变量