【发布时间】:2015-04-24 09:42:40
【问题描述】:
假设我有一个模块 (./my-module.js),它的对象应该是它的返回值:
let values = { a: 1, b: 2, c: 3 }
// "export values" results in SyntaxError: Unexpected token
所以我可以像这样导入它们:
import {a} from './my-module' // a === 1
import * as myModule from './my-module' // myModule.a === 1
我发现的唯一方法是对导出进行硬编码:
export let a = values.a
export let b = values.b
export let c = values.c
// or:
export let {a, b, c} = values
这不是动态的。
是否可以从一个对象中导出所有值?
【问题讨论】:
-
否,因为动态计算的值不能静态导出。
-
@Bergi,我想知道是否有可能以某种方式使值静态化。我在想如果你使用
interface { a: number, b: number, c: number }会怎样?理论上应该是可以的吧? -
@Fleuv
export const {a, b, c} = values正是声明该静态接口的语法
标签: module export ecmascript-6