【问题标题】:How to import submodules and alias them to a variable in ES6如何在 ES6 中导入子模块并将它们别名为变量
【发布时间】:2018-04-13 14:56:44
【问题描述】:

我想用 js 文件的一些模块创建一个模块并执行以下操作:

import { CONSTANT01, CONSTANT02 } as selectedConstants from './constants'

console.log(selectedConstants) // output => {CONSTANT01: 'CONSTANT01', CONSTANT02: 'CONSTANT02'}

这个功能可以实现吗?

【问题讨论】:

标签: javascript import ecmascript-6 module


【解决方案1】:

不,不能这样。只需使用命名空间导入:

import * as selectedConstants from './constants';

console.log(selectedConstants.CONSTANT01) // output => 'CONSTANT01'
console.log(selectedConstants.CONSTANT02) // output => 'CONSTANT02'

【讨论】:

  • 所以...如果我想加入一个 JS 对象,我需要这样做:import { CONSTANT01, CONSTANT02 } from './constants'const selectedConstants = { CONSTANT01, CONSTANT02 }?
  • @HemãVidal 是的,你可以这样做。但是在命名空间不够用的情况下,你需要这个对象做什么?
  • 之后我需要使用:myConsts = {...selectedConstants, ...selectedConst02} 来加入其他未来的常量导入。要知道常量是哪一种。
  • 这也适用于命名空间对象,除非您的模块导出的数量超过了 selected 常量。然后你需要一些帮助函数来选择单个属性。
  • 好的@Bergi ...感谢您花时间回答!我现在明白了这种导入行为! :)
猜你喜欢
  • 2017-03-21
  • 1970-01-01
  • 2017-05-16
  • 2016-11-07
  • 2018-01-23
  • 2019-06-05
  • 2016-04-07
  • 2017-11-03
相关资源
最近更新 更多