Relay Modern-什么是database.js,是否有必要?

时间:2017-06-10 00:26:28

标签: react-native graphql relayjs relay

在Relay Modern示例应用程序todo-modern中,有一个名为database.js的文件。所有Relay Modern应用程序中都需要此文件吗?如果没有,如何在没有它的情况下定义{nodeInterface, nodeField}?它似乎具有所有这些吸气功能,我不明白这一点。

我发现Relay Modern没有足够的文档或示例。这非常令人沮丧。

1 个答案:

答案 0 :(得分:1)

这在文档中没有明确说明,但schema.js和database.js是为了模拟运行GraphQL的远程服务器服务。我已经有一个运行GraphQL服务器的PHP后端,所以这就是我必须做的事情:

  1. 全局安装npm包get-graphql-schema
  2. 将npm脚本添加到我的package.json:"generate-graphql": "get-graphql-schema http://0.0.0.0:8000/graphql > ./App/Data/schema.graphql"。显然,将本地端点更改为服务器的graphql端点,并将输出更改为您希望架构存在的位置
  3. 运行生成架构的npm run generate-graphql
  4. 添加npm脚本以使用新架构构建必要的生成文件:"relay:build": "relay-compiler --src ./App --schema ./App/Data/schema.graphql"。同样,根据需要更改端点。
  5. 运行此新脚本。你应该好好去!