javascript - 错误:无法使用来自另一个模块或领域的 GraphQLSchema“[object GraphQLSchema]”
问题描述
给定以下代码:
import { graphql } from 'graphql'
import graphqlTools from 'graphql-tools'
const { makeExecutableSchema } = graphqlTools
const typeDefs = `
type Query {
as: [A]
}
type A {
x: Int,
y: Int
}
`
const schema = makeExecutableSchema ({ typeDefs })
graphql(schema, '{ as { x, y } }').then(console.log)
我收到此错误:
错误:无法从另一个模块或领域使用 GraphQLSchema“[object GraphQLSchema]”。
确保 node_modules 目录中只有一个“graphql”实例。如果不同版本的“graphql”是其他依赖模块的依赖,使用“resolutions”确保只安装一个版本。
这是怎么回事?
解决方案
graphql
当您安装的模块版本与您安装和使用的版本不同时,也可能出现这种情况graphql-tools
。
我发现您可以通过以下任一方式纠正此问题:
更改
graphql
项目package.json
文件中的版本以完全匹配graphql-tools
其文件中依赖的内容package.json
。graphql
作为依赖项删除并仅安装graphql-tools
. 然后您将自动收到安装的任何graphql
模块版本graphql-tools
(只要您不依赖安装另一个冲突版本的任何其他软件包)。
在其他情况下,您可能拥有正确的版本,但可能会安装多次。您可以使用npm ls graphql
查看所有已安装的版本。尝试运行npm dedupe
以删除重复的安装。
推荐阅读
- javascript - 返回数组平方中所有偶数的总和(javascript)
- neo4j - Neo4j (3.5.14) 互连节点的 BFS/DFS 故障
- c - 你能确定 C 中的堆栈深度吗?
- visual-studio-code - vscode c/c++ 定义配置
- macos - 为什么逆向工程时,大小为 7.6 MB 的 APK 文件会在 exFAT 格式的外部硬盘驱动器上分配 1.36 GB?
- node.js - 使用虚拟 Alexa 设备进行持续集成?
- c# - 使用从 URL 提供的 LitJson 和 Json 文件代替本地 Json 文件
- c++ - 在 GitLab CI Docker 工作流程中应该在哪里编译 c++ 应用程序?
- c# - 带有 Aero Snap 的无边框表格在顶部创建白色边框
- javascript - 如何使用 JavaScript 从用户输入 (URL) 更改背景图像