首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphQL教程-预期未定义为GraphQL模式

GraphQL教程-预期未定义为GraphQL模式
EN

Stack Overflow用户
提问于 2021-11-11 06:21:15
回答 1查看 571关注 0票数 0

我试着学习GraphQL。我创建了一个项目,我做了此页说的。

安装

代码语言:javascript
复制
   npm init
   npm install graphql --save

Server.js

代码语言:javascript
复制
var { graphql, buildSchema } = require('graphql');

// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// The root provides a resolver function for each API endpoint
var root = {
  hello: () => {
    return 'Hello world!';
  },
};

// Run the GraphQL query '{ hello }' and print out the response
graphql(schema, '{ hello }', root).then((response) => {
  console.log(response);
});

Run

代码语言:javascript
复制
node server.js

这会给我一个错误。

代码语言:javascript
复制
    throw new Error(
          ^
Error: Expected undefined to be a GraphQL schema.
    at assertSchema (C:\Users\BK\Projects\Test\graphql-test\node_modules\graphql\type\schema.js:35:11)
    at validateSchema (C:\Users\BK\Projects\Test\graphql-test\node_modules\graphql\type\validate.js:34:28)
    at graphqlImpl (C:\Users\BK\Projects\Test\graphql-test\node_modules\graphql\graphql.js:52:64)
    at C:\Users\BK\Projects\Test\graphql-test\node_modules\graphql\graphql.js:21:43
    at new Promise (<anonymous>)
    at graphql (C:\Users\BK\Projects\Test\graphql-test\node_modules\graphql\graphql.js:21:10)
    at Object.<anonymous> (C:\Users\BK\Projects\Test\graphql-test\server.js:18:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)

版本

  • 图形:"^16.0.1“
  • 节点: v16.13.0
EN

回答 1

Stack Overflow用户

发布于 2021-11-19 17:29:52

我遵循同样的教程,我也遇到了同样的问题。按照U Rogel的建议,进入下一页后,我遇到了以下问题:

代码语言:javascript
复制
Could not resolve dependency:
npm ERR! peer graphql@"^14.7.0 || ^15.3.0" from express-graphql@0.12.0
npm ERR! node_modules/express-graphql

因此,我决定修改package.json中的graphql版本

代码语言:javascript
复制
"dependencies": {
    "express": "^4.17.1",
    "express-graphql": "^0.12.0",
    "graphql": "^14.7.0"
}

然后我运行npm install,回到第一页,它成功了!

我认为问题在于16+版本与基本示例不兼容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69923984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档