1

我正在关注 Lighthouse 网站上的主版本(4.1)教程。

https://lighthouse-php.com/4.1/getting-started/tutorial.html#installation

我重新安装了 Laravel 5.8,然后执行教程中编写的命令(旁边npm install

composer require nuwave/lighthouse mll-lab/laravel-graphql-playground

php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider"

php artisan vendor:publish --provider="MLL\GraphQLPlayground\GraphQLPlaygroundServiceProvider"

之后/graphql/schema.graphql创建一个文件(在项目根目录下,而不是在routes以前版本的文件夹下)。

现在我用一些数据填充数据库,然后将模式从教程页面复制/粘贴到已发布的模式,启动服务器,然后访问显示发送请求的正确 url 的游乐场http://127.0.0.1:8000/graphql

单击Schema选项卡时,我总是看到默认架构,而不是在 中发布的架构/graphql/schema.graphql,当然,对不同于用户的资源的查询会失败,并出现类似的错误Cannot query field "posts" on type "Query".。我已经尝试重新启动服务器并刷新 Playground 页面。

config/lighthouse.php文件中,模式注册到base_path('graphql/schema.graphql')看起来正确的路径。

为什么 Playground 总是显示默认架构而不是已发布和编辑的架构?

我正在使用 PHP 7.2.14,而 Lighthouse 需要 PHP>7.1

4

1 回答 1

9

我认为问题与缓存有关。我尝试添加LIGHTHOUSE_CACHE_ENABLE=false到 laravel .env 文件并重新启动服务器,然后刷新游乐场页面。我重新检查了架构并对其进行了更新。

我希望它有用。

于 2019-08-21T03:23:33.783 回答