【问题标题】:How do I debug a GraphQL resolver in JavaScript?如何在 JavaScript 中调试 GraphQL 解析器?
【发布时间】:2018-09-30 02:27:32
【问题描述】:

我正在关注howtographql.com 上的教程,该教程创建了一个非常基本的 GraphQL 服务器,其中包含用 JavaScript 编写的内存数据和解析器。我一直遇到问题,我希望能够在解析器中放置一个断点,但是当我运行 GraphQL Playground GUI 时,我在 DevTools 的 Sources 面板中看不到任何东西,并放置了 @987654322代码中的@行也不会停止它。

如何调试我的解析器?

架构

type Mutation {
  updateLink(id: ID!, url: String, description: String): Link
}

解析器(我正在使用 immutable.js 的 Map;可能不正确)

let links = [
  {
    id: "link-0",
    url: "www.howtographql.com",
    description: "Fullstack tutorial for GraphQL",
  },
]

const resolvers = {
  Mutation: {
    updateLink(root, args) {
      const linkIndex = links.findIndex(link => link.id === args.id);
      const state = links.map(link => {
        debugger;
        if (link.id === args.id) {
          const map = Map(link);
          return map
            .set("url", args.url || link.url)
            .set("description", args.description || link.description);
        }
        return link;
      });
      links = state;
      return state[linkIndex];
    },
}

【问题讨论】:

    标签: javascript debugging graphql resolver


    【解决方案1】:

    解析器在服务器上运行。服务器的代码不会出现在 DevTools 的 Sources 面板中。您必须使用 IDE 中的 NodeJS 调试器来调试解析器

    【讨论】:

    • 谢谢!我正在使用 VS Code,所以它就像创建一个 launch.json 一样简单!我现在想想应该知道该怎么做,但我是服务器端节点的新手,所以我没有想到。
    • 你可以在你的节点代码中写console.log()来调试。
    猜你喜欢
    • 2017-10-03
    • 2018-11-03
    • 1970-01-01
    • 2023-04-08
    • 2021-09-10
    • 2019-07-15
    • 2018-03-01
    • 1970-01-01
    • 2020-01-28
    相关资源
    最近更新 更多