加入我们,于10月8日至10日在纽约市,了解更多关于 GraphQL 联邦和 API 平台工程的最新技巧、趋势和新闻。参加2024年纽约市的 GraphQL 峰会
文档
免费开始

本地子图开发

使用 Rover CLI 运行本地超级图


当你在其中一个子图上工作时,你可以在你的开发环境中本地运行整个的版本。为此,你使用rover dev命令。

💡 提示

安装 Rover CLI。

rover dev命令监视你的每个子图模式(通过服务器或通过监视一个.graphql文件)。每当它检测到更改时,它自动重新组合路由器并引发可能发生的任何错误。这让你可以快速迭代模式更改。

启动路由器

对于你超级图中的每个子图,你运行一次rover dev。第一次运行它时,在你的本地机器上启动一个路由器。

尝试运行如下示例子图的rover dev

rover dev --url https://flyby-locations-sub.herokuapp.com/ --name locations

您会看到以下输出

WARN: could not detect a schema in the current working directory. to watch a schema, pass the `--schema <PATH>` argument
👂 polling https://flyby-locations-sub.herokuapp.com/ every 1 second
⚠️ Do not run this command in production! ⚠️ It is intended for local development.
🛫 starting a session with the 'locations' subgraph
🎶 composing supergraph with Federation v2.1.2
🚀 your supergraph is running! head to https://127.0.0.1:3000 to query your supergraph

您现在可以在浏览器中打开 https://127.0.0.1:3000 并在 Explorer 中运行针对您的本地 router 的测试查询!

您可以将上面的命令中的示例 子图 URL 和名称替换为您自己的子图信息。您可以提供远程 URL 或 localhost URL。

添加子图

要将子图添加到您的本地 超级图,请在单独的终端窗口中再次运行 rover dev

您可以使用以下命令将该文章示例 超级图 中的子图添加进来:

rover dev --url https://flyby-reviews-sub.herokuapp.com/ --name reviews

该命令的输出类似于初次运行时的输出,但它包括以下类似的行

🐤 adding the 'reviews' subgraph to the session

这表明 rover dev 已经识别了您的现有 超级图 会话,并将此子图添加到其中。

现在,如果您在 Explorer 中运行测试查询,您会看到它们可以包含 ,来自 locationsreviews 子图!

结束 rover dev 会话

要关闭您的本地 超级图,请使用 CTRL+C 停止您启动的第一个 rover dev 进程。这会自动终止同一会话中的所有二级 rover dev 进程。

注意

如果你停止一个次级 rover dev 进程,你的会话将保持活跃,并且 路由器's 模式将自动更新以反映已删除的 子图

命令选项

有关 rover dev 选项的更多详细信息,请参阅 Rover 文档

上一页
创建新子图
下一页
更新您的图
评价文章评价在 GitHub 上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即 Apollo GraphQL。

隐私策略

公司