繁体   English   中英

中继编译器可以从端点(http 或 https)读取模式吗?

[英]Can relay-compiler read the schema from an endpoint (http or https)?

Relay 的提前编译会生成新的编译工件。 为此,必须将 GraphQL 模式路径传递给其配置文件。 我的问题是:那条路径可以是 URL 吗? 如果不是,有什么替代方法? 文档对此非常模糊。

为什么我需要它成为 URL? 我的后端在另一个服务中,所以我必须找到一种方法来访问它的模式。 我使用的是graphql get-schema命令——它会生成远程模式的本地副本。 但是get-schema命令在graphql-cli@4中已被弃用。

get-schema 不再可用在以前的版本中,您可以从端点内部给定的 >URL 将架构下载到 schemaPath 中的给定路径。 在新版本中,schema 指的是 schema 的端点。

如果您使用 Prisma 或在 URL 端点下提供架构的任何其他工具,您必须在配置 YAML 中使用以下语法指定它:

来源: https://github.com/Urigo/graphql-cli/blob/a8fc4bc6376205b2c6ee077cc0acfcef0712b470/docs/MIGRATION.md#get-schema-is-no-longer-available

从那以后,我找不到一种简单的方法来将远程模式与我的前端项目同步。 也许唯一的选择是降级到graphql-cli@3

graphql-config不同, relay-config -config 似乎不接受 URL 模式。 它必须是本地路径。

因此,您必须继续使用本地模式。 graphql-cli@4迁移指南解释了如何下载模式,因为此功能不再是 package 的核心:

如果您想从此 URL 下载模式到本地文件系统,您还需要使用以下命令或其 npm 等效命令安装codegen插件及其schema-ast插件:

 yarn add @graphql-cli/codegen @graphql-codegen/schema-ast --dev

之后,您可以指定本地模式文件的 output 路径:

 schema: http://localhost:4000/graphql extensions: codegen: generates: ./schema.graphql: plugins: - schema-ast

通过运行 graphql 代码生成,schema.graphql 文件在项目的根路径中生成。

来源: https://github.com/Urigo/graphql-cli/blob/a8fc4bc6376205b2c6ee077cc0acfcef0712b470/docs/MIGRATION.md#get-schema-is-no-longer-available

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM