【发布时间】:2017-11-03 00:38:56
【问题描述】:
好的,我找不到这个问题的答案。我正在使用 webpack 和 babel es2015 预设来处理 ES2015 模块。
要导出的模块 1,文件名“foobar.js”
export const FOO = 'foo'
export const BAR = 'bar'
有没有办法将此常量导入到我的导入模块中的全局命名空间中?
我想在我的模块中使用常量:
import 'foobar'
const doSomething = () => { console.log(FOO + BAR) }
我知道这会起作用:
import * as CONSTANTS from 'foobar'
const doSomething = () => { console.log(CONSTANTS.FOO + CONSTANTS.BAR) }
...还有其他方法可以在特定命名空间中实现导入的相同结果。但我想使用没有前缀的常量。
有没有办法直接将来自不同模块的所有导出导入到导入模块的根命名空间中?
*注意:我知道我可以做到:
import {FOO, BAR} from 'foobar'
但是我必须在导入中显式引用每个常量,这会导致更多的麻烦而不是更少。
【问题讨论】:
-
您几乎涵盖了所有可能性。 JavaScript 不会让您凭空提取变量,因此必须以某种方式、形状或形式定义它们。
标签: javascript ecmascript-6 es6-modules