【发布时间】:2022-02-20 19:06:53
【问题描述】:
我今天第一次尝试使用 GraphQL。
我参考https://graphql.org/code/#javascript 的教程来运行hello.js。
按照教程完成后,我的程序没有成功运行。有谁知道解决方案?
我创建的环境如下:
npm init
npm install graphql
然后在根目录创建hello.js并复制官网教程:
var { graphql, buildSchema } = require('graphql');
var schema = buildSchema(`
type Query {
hello: String
}
`);
var root = { hello: () => 'Hello world!' };
graphql(schema, '{ hello }', root).then((response) => {
console.log(response);
});
然后我输入node hello.js,输出如下:
(node:10308) UnhandledPromiseRejectionWarning: Error: Expected undefined to be a GraphQL schema.
at assertSchema (E:\Node\np\node_modules\graphql\type\schema.js:35:11)
at validateSchema (E:\Node\np\node_modules\graphql\type\validate.js:34:28)
at graphqlImpl (E:\Node\np\node_modules\graphql\graphql.js:52:64)
at E:\Node\np\node_modules\graphql\graphql.js:21:43
at new Promise (<anonymous>)
at graphql (E:\Node\np\node_modules\graphql\graphql.js:21:10)
at Object.<anonymous> (E:\Node\np\hello.js:11:1)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10) at Module.load (internal/modules/cjs/loader.js:937:32)(Use `node --trace-warnings ...` to show where the warning was created)(node:10308) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:10308) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
想知道graphql使用失败的原因,以及如何解决,谢谢。
【问题讨论】:
-
这stackoverflow.com/questions/53192184/… 能解决您的问题吗?
-
我看了这篇文章,用apollo server可以成功运行,但是我很想知道为什么最简单的方法失败了。困惑。
标签: javascript node.js graphql