提问者:小点点

Laravel Lighthouse:我如何才能让graph ql-codecen从我的模式生成类型?


我在Laravel应用程序中使用Laravel灯塔作为我的graph ql服务器。现在我已经将自定义查询和类型添加到我的graph ql/schema. graph ql文件中,我希望能够在位于Laravel项目中的TypeScript Vue 3应用程序中获取类型。但是,当我运行graph ql-codesen--config codegen.yml命令时,它会失败,因为正在生成的查询与模式文件中的内容不匹配。

我的graph ql/schema. graph ql文件中的查询。

type Query {
    posts: [Post!]! @paginate(defaultCount: 10)
}

我的查询我在我的Vue组件中调用

            {
                posts {
                    data {
                        uuid
                        body
                        user {
                            name
                        }
                    }
                }
            }

下面的代码是我的codegen. yml文件


overwrite: true
schema: "./graphql/schema.graphql"
documents: "./resources/js/pages/**/*.vue"
generates:
  ./resources/js/generated.ts:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "typescript-vue-apollo-smart-ops"

任何想法,我需要指出它或我如何让graph ql-codecen生成正确的打字?


共1个答案

匿名用户

您的源模式由诸如@tagate之类的指令转换。使用以下artisan命令生成包含整个和最终模式的单个文件:

php artisan lighthouse:print-schema

看https://lighthouse-php.com/master/api-reference/commands.html#print-schema