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 перед его использованием.