Javascript graphqljs-如何获取文件名和错误行

Javascript graphqljs-如何获取文件名和错误行,javascript,node.js,graphql,graphql-js,Javascript,Node.js,Graphql,Graphql Js,我正在使用graphqljs和expressgraphql。每当我出现错误时,我都会得到一些模糊的信息,比如“Expected type Int!”,发现“1\”具有无效的位置属性: "locations": [ { "line": 3, "column": 42 } ], 如何获取文件名及其行 错误如下: "{ "errors": [ { "json": "{\"message\":\"Expec

我正在使用graphqljs和
expressgraphql
。每当我出现错误时,我都会得到一些模糊的信息,比如
“Expected type Int!”,发现“1\”
具有无效的位置属性:

"locations": [
    {
        "line": 3,
        "column": 42
    }
],
如何获取文件名及其行

错误如下:

"{
    "errors": [
        {
            "json": "{\"message\":\"Expected type Int!, found \\\"1\\\".\",\"locations\":[{\"line\":3,\"column\":42}]}",
            "message": "Expected type Int!, found \"1\".",
            "locations": [
                {
                    "line": 3,
                    "column": 42
                }
            ],
            "stack": [
                "GraphQLError: Expected type Int!, found \"1\".",
                "    at isValidScalar (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/validation/rules/ValuesOfCorrectType.js:164:27)",
                "    at Object.StringValue (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/validation/rules/ValuesOfCorrectType.js:128:14)",
                "    at Object.enter (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/language/visitor.js:333:29)",
                "    at Object.enter (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/language/visitor.js:384:25)",
                "    at visit (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/language/visitor.js:251:26)",
                "    at validate (/Applications/MAMP/htdocs/whylookforit-server/node_modules/graphql/validation/validate.js:63:22)",
                "    at /Applications/MAMP/htdocs/whylookforit-server/node_modules/express-graphql/dist/index.js:154:52",
                "    at processTicksAndRejections (internal/process/next_tick.js:81:5)"
            ]
        }
    ]
}"

所有graphql代码都被捆绑到一个大模式中,只有在完成后,coge才会运行。如果模式运行时出现错误,代码将不再引用最初定义的文件。

如果使用
formatError
,对于执行错误,可以访问
路径
属性在这些情况下,堆栈通常也会显示错误发生的文件


您在此处看到的错误是由于您发送的文档无效而引发的验证错误。由于它不是执行错误,因此无需在服务器端修复。客户端,您需要修复查询。
locations
属性告诉我们错误位于文档第3行的42n处该行的d字符。不幸的是,我认为没有办法仅从错误中识别特定节点。

这正是我已经知道的,这就是我问题的输出。@a.Lau抱歉,完全误解了问题。请查看更新的答案。