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]
行不通。
有什么建议么?
解决方案
创建一个对象并在其中查找lang
:
const result = { es, en }[this.lang];
使用全局范围(又名window
)可能会给您带来真正的麻烦,这就是为什么它被认为是一种反模式(以及所有那些 ES 6 特性let
,,,,通过使“全局变量”不泄漏到全局范围来强制执行这一点,因此您const
可以import
'不要访问它们window
)。
推荐阅读
- ms-access - 如何保护我的程序免受“非法”复制?
- mongodb - GCP 应用引擎中的 Mongo 数据库
- api - 思科 ISE API POST(500 错误)
- kubernetes - 在 Type=LoadBalancer 的服务上指定 nodePort
- tableau-api - 标记不在 Tableau 2018 中显示的标签
- c# - 冗余的泛型类型参数会影响性能吗?
- python - Python:绘制使用“period_range”(熊猫)创建的数据时出错
- html - CSS悬停不起作用(小代码)
- javascript - 在什么情况下 HTML 标记中的 script 标签可以包含在 head 标签中而不使用 async 和 defer 属性?
- javascript - 从 localhost:3000/admin 到 localhost:3000