You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在graphql-js中将DocumentNode转换回字符串

如何在graphql-js中将DocumentNode转换回字符串

嘿,我太懂你的困惑了!当初我第一次尝试把DocumentNode转成查询字符串的时候,也想当然地直接用了var.toString(),结果得到的完全不是预期的GraphQL查询字符串,简直一脸懵😆

其实在graphql-js里,专门有个工具函数能搞定这个事儿——就是print函数,它可以把DocumentNode对象正确转换成格式化后的标准GraphQL查询字符串。

具体操作步骤很简单:

  • 先确保你已经安装了graphql包(没装的话用npm install graphql或者yarn add graphql安装即可)
  • 从graphql包中导入print函数
  • 把你的DocumentNode对象传入print函数,就能得到对应的查询字符串了

给你举个实际的示例:

import { print, parse } from 'graphql';

// 这里先解析一个查询字符串得到DocumentNode(只是演示用,实际你可能已经有现成的DocumentNode)
const rawQuery = `
  query GetUser($id: ID!) {
    user(id: $id) {
      name
      email
    }
  }
`;
const documentNode = parse(rawQuery);

// 用print转换回标准查询字符串
const formattedQuery = print(documentNode);
console.log(formattedQuery);

运行这段代码,你就能得到格式规整的GraphQL查询字符串,完全不是toString()返回的那种对象描述内容。

备注:内容来源于stack exchange,提问作者Mohammad Jawad Barati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 18:28:12