我正在跟踪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
文件夹下)。
现在,我用一些数据填充数据库,然后将模式从教程页面复制/粘贴到已发布的模式,启动服务器,然后访问显示正确网址的Playground,其中将请求发送到{{1 }}。
单击http://127.0.0.1:8000/graphql
选项卡,我总是看到默认模式,而不是在Schema
中发布的模式,当然,查询与用户不同的资源失败,并显示诸如{{1 }}。我已经尝试过重启服务器并刷新Playground页面。
将架构注册到看起来正确的路径/graphql/schema.graphql
到Cannot query field "posts" on type "Query".
文件中。
为什么Playground总是显示默认架构,而不显示已发布和编辑的架构?
我正在使用PHP 7.2.14,Lighthouse需要PHP> 7.1
答案 0 :(得分:6)
我认为问题与缓存有关。我试图将LIGHTHOUSE_CACHE_ENABLE=false
添加到laravel .env文件中,然后重新启动服务器,然后刷新Playground页面。我重新检查架构,并且它已更新。
我希望它有用。