从TypeScript的模式生成类型会产生空文件

时间:2017-08-06 17:09:25

标签: graphql graphql-js apollo-server

我接受these steps,这意味着,我首先创建了json:

apollo-codegen introspect-schema schema.graphqls --output schema.json

产生:

{
  "data": {
    "__schema": {
      "queryType": {
        "name": "Query"
      },
      "mutationType": null,
      "subscriptionType": null,
      "types": [
        { 
          "kind": "OBJECT",
          "name": "Query",
          "description": "",
          "fields": [
            {

              ...

但之后,当我跑步时:

 apollo-codegen generate **/*.graphqls --schema schema.json --target typescript --output schema.ts

我得到一个空的schema.ts类型文件:

/* tslint:disable */
//  This file was automatically generated and should not be edited.
/* tslint:enable */

想法?

1 个答案:

答案 0 :(得分:1)

apollo-codegen generate行中,您定位.graphl*s*个文件。应该是.graphql吗?

您希望生成器匹配哪个文件?它需要包含可以针对您的模式运行的查询或突变的文件 - 它不会为模式本身生成代码:

  

此命令的目的是为模式生成查询和变异操作的类型(它不会为模式本身生成类型)。

来源:https://www.apollographql.com/docs/angular/features/developer-tooling.html#introspect