Laravel 8 JetStream BindingResolutionException Целевой класс [App\Http\Middleware\HandleInertiaRequests] не существует

Они настраивают новый проект laravel8 с помощью jetStream InertiaJs, но когда я запускаю приложение, я получаю следующую ошибку:

По-видимому, это ошибка маршрута, и в блогах показано решение для редактирования файла RouteServiceProvider.php и определения следующей переменной:

      protected $namespace = 'App\\Http\\Controllers';
      $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
        });

Пути к веб-файлам следующие:

      Route::get('/', function () {
    return Inertia::render('Welcome', [
        'canLogin' => Route::has('login'),
        'canRegister' => Route::has('register'),
        'laravelVersion' => Application::VERSION,
        'phpVersion' => PHP_VERSION,
    ]);
});

Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
    return Inertia::render('Dashboard');
})->name('dashboard');

но ошибка остается, пожалуйста, кто-нибудь может сказать мне решение или что я должен просмотреть, чтобы найти решение

3 ответа

Следуйте инструкциям здесь: https://inertiajs.com/server-side-setup

      composer require inertiajs/inertia-laravel
php artisan inertia:middleware

Затем нужно найти класс. Заметил, что класс не может быть разрешен в IDE, поэтому предположил, что он не был установлен по умолчанию из коробки.

Из-за ошибки вы можете пропустить обратную косую черту перед App. Поместите его, как показано ниже, в свой файл web.php: \App\Http\Middleware\HandleInertiaRequests::class

Вам может понадобиться use Inertia\Inertia; в верхней части файла PHP перед его использованием.

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