importSchema GraphQL 错误:ENOENT:没有这样的文件或目录,打开“./schema.graphql”

Posted

技术标签:

【中文标题】importSchema GraphQL 错误:ENOENT:没有这样的文件或目录,打开“./schema.graphql”【英文标题】:importSchema GraphQL Error: ENOENT: no such file or directory, open './schema.graphql' 【发布时间】:2020-04-20 17:45:51 【问题描述】:

我尝试使用以下代码导入 graphql 架构:

import  importSchema  from 'graphql-import'

const typeDefs = importSchema(`./typeDefs/schema.graphql`)

我遇到了一个错误:

fs.js:114
    throw err;
    ^

Error: ENOENT: no such file or directory, open './schema.graphql'
    at Object.openSync (fs.js:443:3)
    at Object.readFileSync (fs.js:343:35)
    at read (C:\Data\Dev\Yunazon\191121-serv\node_modules\graphql-import\src\index.ts:31:15)
    at importSchema (C:\Data\Dev\Yunazon\191121-serv\node_modules\graphql-import\src\index.ts:87:15)
    at Object.<anonymous> (C:\Data\Dev\Yunazon\191121-serv\src\graphQL/apolloServer.js:10:18)

什么是问题?

【问题讨论】:

【参考方案1】:

经过一些研究并感谢@enBonnet(github 社区)的发现,我找到了更改路径参数的解决方案。由于某些原因,GraphQL 工具需要绝对路径而不是相对路径:

import  importSchema  from 'graphql-import'

const typeDefs = importSchema(`$__dirname/typeDefs/schema.graphql`)

【讨论】:

以上是关于importSchema GraphQL 错误:ENOENT:没有这样的文件或目录,打开“./schema.graphql”的主要内容,如果未能解决你的问题,请参考以下文章

Apollo GraphQL 错误处理

在 Graphql 突变上获取内部服务器错误 500

GraphQL 错误:预期类型为 Int。 Int 不能表示非整数值

上传文件时从 graphql 获取臭名昭著的 400 错误,调试显示在 graphql-upload 中填充的数据

GraphQL - 联合类型给出错误 no class could be found for that type name

javascript Criando变异e解析器graphql