schema.graphql与buildSchema()

时间:2017-06-07 08:16:50

标签: graphql relayjs react-relay

Relay Modern 文档之后,首先我开始使用buildSchema()函数并将架构 rootValue 放入其中JavaScript文件,并在需要时使用它。

后来我发现relay-compiler需要一个JSON或.graphql格式的模式文件;所以我在schema.graphql中复制了我的架构,一切都按预期工作。

为了避免在两个地方维护我的架构,我可以阅读schema.graphql文件并将其传递给buildSchema()函数,它应该可以工作,但我想知道这是否是正确的方法或是否有更好的方法吗?有没有办法完全避免使用buildSchema()功能并完全依赖schema.graphql

1 个答案:

答案 0 :(得分:1)

这是正确且必要的方法 您无法避免在const myComponent = enzymeWrapper.find('MyComponent'); myComponent.node.onThingSelected({}, { thing: newThing}); 文件中使用buildSchema功能;但您可以在JavaScript中构建完整模式 - see bottom of this page

我建议坚持使用Schema Language表示法。