importSchema GraphQL错误:ENOENT:没有此类文件或目录,请打开“ ./schema.graphql”

时间:2020-01-01 23:30:07

标签: graphql apollo apollo-server express-graphql

我尝试使用以下代码导入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 个答案:

答案 0 :(得分:0)

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

import { importSchema } from 'graphql-import'

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