Swa*_*wit 13 javascript nodemon graphql graphql-js macos-big-sur
我正在使用本教程为我的项目学习 GraphQL:https : //www.youtube.com/watch?v= ZQL7tL2S0oQ&ab_channel=WebDevSimplified
我得到错误:
TypeError: expressGraphQL is not a function
at Object.<anonymous>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过:
现在的代码如下所示:
const express = require ('express')
const { expressGraphQL } = require('express-graphql')
const app = express();
app.use('/graphql', expressGraphQL({
graphiql: true,
})
)
app.listen(5000., () => console.log('Server Running'))
Run Code Online (Sandbox Code Playgroud)
如果我注释掉这一部分:
app.use('/graphql', expressGraphQL({
graphiql: true,
})
)
Run Code Online (Sandbox Code Playgroud)
无论使用 {} 括号还是不使用括号,代码都可以正常工作。
小智 41
请用 graphqlHTTP 替换你的 expressGraphQL,因为它被解构了
用:
const { graphqlHTTP } = require('express-graphql');
Run Code Online (Sandbox Code Playgroud)
或者
const expressGraphQL = require('express-graphql').graphqlHTTP
Run Code Online (Sandbox Code Playgroud)
这是因为 express-graphql 模块中存在一个名为 graphqlHTTP 的方法,而您正在使用该模块中不存在的另一个方法名称进行解构
我还注意到在 app.listen 函数上 5000 之后有一个点。
小智 18
使用以下作为解决方案。
const express = require('express');
const expressGraphQL = require('express-graphql').graphqlHTTP;
const app = express();
app.use('/graphql', expressGraphQL({
graphiql:true
}));
app.listen(4000, () => {
console.log('Listning');
})
Run Code Online (Sandbox Code Playgroud)
小智 5
从express-graphql 解构 graphqlHTTP
const { graphqlHTTP } = require("express-graphql");
app.use("/graphql", graphqlHTTP({ graphiql: true }));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |