Graphql打字稿输入和codegen

时间:2018-05-07 13:46:10

标签: typescript graphql apollo apollo-client

名为apollo-codegen的库允许用户在客户端上为graphQL模式创建类型。但是,它希望将gql个查询放在.graphql文件中。

我的问题是:如何在.graphql文件中使用查询?

我之前在.ts个文件中执行此操作

const ssQuery = gql`
    subscription suppliers {
        suppliers {
            id,
            name
        }
    }
`;

1 个答案:

答案 0 :(得分:2)

假设您正在使用webpack,graphql-tag包含一个用于导入查询的加载程序。

// webpack.config.js

loaders: [
  {
    test: /\.(graphql|gql)$/,
    exclude: /node_modules/,
    loader: 'graphql-tag/loader'
  }
]

// in your project
import MY_QUERY from './my-query.graphql'

graphql(MY_QUERY)(MyComponent)

请注意,这样做意味着每个文件只能有一个查询/变异/订阅。但是,您也可以为片段创建文件并将其导入到graphql文件中(不知道apollo-codegen是否支持此语法)。