构建对象,然后在js中导出它

时间:2017-10-29 11:50:44

标签: javascript ecmascript-6

我曾经有一个带有对象的resolvers.js:

export const resolvers = {
   value1: 'value';
   value2: 'value';
}

然后:

import { resolvers } from './graphqlresolvers';

现在我需要使用变量属性构建我的对象

let resolvers = {}

resolvers.value1= 'value';
resolvers.value2= 'value';

export resolvers;

但我收到此错误:导出解析器中出现意外的令牌;

如果我这样做:

export default resolvers;

工作正常,但随后我的应用行为变得疯狂......没有错误,但服务器应用没有向应用客户端发送正确的信息。

对我来说总是有问题没有自由定义变量,然后在代码末尾导出或不导出。有人可以解释我该怎么办?

2 个答案:

答案 0 :(得分:2)

您正在寻找语法

.*

或短

\1

导出在别处声明的变量。当然,即使动态构建对象,也可以将变量与变量一起声明:

export { resolvers as resolvers }

答案 1 :(得分:1)

您可以在export语句后添加属性:

export const resolvers = {};
resolvers.value1 = 'value';
resolvers.value2 = 'value';

Live on plnkr(需要最先进的浏览器,Chrome浏览器v62)

如果以后需要进行分配,你甚至可以这样做,因为绑定是动态的

export let resolvers;
resolvers = {};
resolvers.value1 = 'value';
resolvers.value2 = 'value';

Live on plnkr(需要最先进的浏览器,Chrome浏览器v62)