我正在关注 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