如何在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
相关产品推荐
相关产品推荐

