使用字符串变量引用导入的模块

时间:2019-05-16 20:29:40

标签: javascript

我有以下代码段。

import {English as en} from 'languages/en.js'
import {Spanish as es} from 'languages/es.js'

console.log(this.lang) // es

我正在尝试使用this.lang字符串调用相应的导入模块。但不确定如何调用该模块。

window[this.lang]

不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

创建一个对象并在其中查找lang

  const result = { es, en }[this.lang];

使用全局范围(也称为window)会使您陷入真正的麻烦,这就是为什么它被视为反模式(以及所有这些ES 6功能letconstimport通过使“全局变量”不泄漏到全局范围来强制执行此操作,因此您不能在window上访问它们。