0.1.4 • Published 7 years ago
graphql-persist-query v0.1.4
Persist GraphQL
一个通过静态分析编译时生成graphQL查询map映射表的工具,通过映射表可以实现服务器端query白名单及query保持能力。
工具可以提取 .graphql 文件中的GraphQL查询,然后为每个查询分配一个ID值(或者叫hash),最后输出一个映射表的JSON文件。客户端和服务端可以利用这个文件进行白名单和query映射,客户端只需要发送查询的响应id/hash,服务器可以映射出响应的真正查询。
Installation
安装graphql-persist-query为依赖,并在node项目中使用:
yarn add graphql-persist-query -DBuild Tool
使用方式:
import { extractGQL, extractGQLInMem } from "graphql-persist-query";
// extract map from file
const inputFilePath = "...";
// optional
const outputFilePath = "...";
// optional
const addTypeName = false;
const options = {
  inputFilePath,
  outputFilePath,
  addTypeName,
};
extractGQL(options);
// or extract from a string
const queryString = `
query getPersons {
  getPerson {
    name
  }
}
query getItems {
  getItem {
    title
  }
}
`
const outputMap = extractGQLInMem(queryString);