Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GraphQL无法读取属性';查询';未定义的_Javascript_Graphql_Apollo_Postgraphile - Fatal编程技术网

Javascript GraphQL无法读取属性';查询';未定义的

Javascript GraphQL无法读取属性';查询';未定义的,javascript,graphql,apollo,postgraphile,Javascript,Graphql,Apollo,Postgraphile,当我知道我的定义是正确的时,我无法理解为什么我会得到一个未定义的查询graphiQL正在毫无问题地选择我的方案: 自动完成工作良好: 点击ctrl+enter后,输入所有字段,请参见上文 然后执行查询,我将得到: { "errors": [ { "message": "Cannot read property 'query' of undefined", "locations": [ { "line": 1,

当我知道我的定义是正确的时,我无法理解为什么我会得到一个未定义的查询
graphiQL
正在毫无问题地选择我的方案:

自动完成工作良好:

点击
ctrl+enter
后,输入所有字段,请参见上文

然后执行查询,我将得到:

{
  "errors": [
    {
      "message": "Cannot read property 'query' of undefined",
      "locations": [
        {
          "line": 1,
          "column": 3
        }
      ],
      "path": [
        "allAwards"
      ]
    }
  ],
  "data": {
    "allAwards": null
  }
}
npm运行图 graphql_server.js
从“express”导入express
从“pg”导入pg
从“express graphql”导入graphqlHTTP
从“postgraphile apollo服务器”导入PAS
从“apollo server express”导入AP
const{makeSchemaAndPlugin}=PAS
const{ApolloServer}=AP
const env=process.env.NODE|env | |“development”
const dbHost=process.env.DB_HOST
const dbPort=process.env.DB\u端口
const dbName=process.env.DB_NAME
const dbUser=process.env.DB\u USER
const dbPwd=process.env.DB_PWD
常量dbUrl=dbPwd
? `postgres://${dbUser}:${dbPwd}@${dbHost}:${dbPort}/${dbName}`
:`postgres://${dbHost}:${dbPort}/${dbName}`
const pgPool=新pg.Pool({
connectionString:dbUrl,
})
异步函数main(){
const{schema,plugin}=wait makeSchemaAndPlugin(
pgPool,
“public”,//要使用的PostgreSQL架构
{
//PostGraphile选项,请参见:
// https://www.graphile.org/postgraphile/usage-library/
}
)
const server=新服务器({
模式,
插件:[插件],
})
const app=express()
应用程序使用(
“/graphql”,
graphqlHTTP({
schema:schema,
graphiql:是的,
})
)
applyMiddleware({app})

app.listen({port:4000},()=>console.log(`您不应该在express应用程序中同时使用
express graphql
apollo server
中的中间件。因为
postgraphile apollo server
与apollo server显式协同工作,所以将
express graphql
一起删除。使用这两个中间件可能会导致意外问题,因为它们都在侦听同样的路径


Apollo放弃了GraphiQL,取而代之的是GraphQL游乐场。如果你想在Apollo中使用GraphiQL,你可以使用这样的包。

为什么要在Apollo上使用
express GraphQL
?如果你需要GraphiQL,Apollo已经公开了一个GraphQL游乐场接口,它可以完成GraphiQL所做的一切,还可以做更多。有可能通过应用这两个中间件,您正在创建一些意外的冲突。请先尝试删除
express graphql
。是的,这就是原因。我不喜欢游乐场,因为它没有自动完成功能。我希望它有:(我确实删除了它,而且它确实修复了它,但现在我遇到了一点障碍。QL Playerd是否有autocomplete?工作正常。我以前见过autocomplete中断,通常是因为架构出了问题,而内省查询返回了意外的结果。您可以在浏览器中检查控制台,看看是否有在这些情况下会出现一个错误。谢谢Daniel,它实际上是在字段上自动完成的,所以我在自动完成后的
edge>节点>*
字段都是。但是,是的,我认为你的答案是关于真正的问题。我想知道是否有办法在操场上使用graphqil?@JamieHutber。你可以随时尝试类似的方法它应该只在指定的路径上提供GraphiQL,而不涉及任何其他内容。钉上它,将其添加到答案中,我会在心跳后接受:D谢谢你,先生。现在我需要修复这个lol
"graphql": "nodemon -r dotenv/config --experimental-modules --inspect=[9222] graphql_server.js",