2016-03-08 148 views
2

我想以编程方式为模块生成导出,这可能在es6中吗?生成es6模块导出

东西沿着这些路线:

const ids = ['foo', 'bar', 'baz']; 

ids.forEach(id => { 
    export const [id.toUpperCase()] = id; 
}); 
+0

可能与[ES6中的动态导出有关](http://stackoverflow.com/a/35035457/1048572) – Bergi

回答

7

不,不是这样的。 ES6模块中的出口和进口需要静态分析。

不仅顶级export声明了语法错误,而且还尝试声明带有动态名称的变量。括号符号仅用于计算属性

因此,如果您要以编程方式生成模块导出,则需要动态生成模块源文本(作为生成过程的一部分)。