Laravel и Lighthouse, он всегда читает схему dafault

Я следую учебному пособию на веб-сайте Lighthouse для мастер-версии (4.1).

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

Я делаю свежую установку 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

1 ответ

Решение

Я думал, что проблема связана с кешированием. Я пытался добавить LIGHTHOUSE_CACHE_ENABLE=false в файл laravel .env и перезапустите сервер, затем обновите страницу игровой площадки. Я перепроверяю схему, и она обновляется.

Я надеюсь, что это полезно.

Другие вопросы по тегам