应用程序构建之一删除 GraphQl 'query' 字段

Posted

技术标签:

【中文标题】应用程序构建之一删除 GraphQl \'query\' 字段【英文标题】:One of application build remove GraphQl 'query' field应用程序构建之一删除 GraphQl 'query' 字段 【发布时间】:2020-01-02 20:15:38 【问题描述】:

我有 Apollo graphQl 前端应用程序。此应用程序由 webpack 构建为静态 js 文件。

在开发版本的代码中一切正常。在http nginx 服务器上的 prod 版本中也可以正常工作。所有查询如下所示:

但我有另一个 prod 版本。生产版本之间只有一个区别:这个适用于https。 并且从这个版本发送的查询没有“查询”字段。

您有什么假设,为什么 graphQl 会松散“查询”字段?

P.S js 文件具有相同的内容。我已经逐个符号比较了

【问题讨论】:

尝试在有问题的环境中调试它 你是什么意思?我必须查看 nginx 容器上的环境变量吗?但是这个变量不会影响静态js文件。 我的意思是在它发送请求的那一刻设置一个调试器断点并检查所有参数是否正常 不能放断点,因为有最小化的代码。但是问题已经解决了。谢谢你的答案。我 【参考方案1】:

问题出在部署脚本中。我们的 DevOps 是这样写的:

sed -i "s/http:/https:/g" $file;

当然,这段代码破坏了 js 文件中的一些供应商代码。

【讨论】:

以上是关于应用程序构建之一删除 GraphQl 'query' 字段的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Apollo/GraphQL 返回一个不可扩展的对象?

GraphQL 通过将其作为解析参数之一传递来查询数据库

紧跟在查询类型(query/mutation)GraphQL之后的字符串的意义

使用Vue和GraphQL构建一个CRUD APP

GraphQL是新的API网关

[GraphQL] Query GraphQL Interface Types in GraphQL Playground