Laravel 8 JetStream BindingResolutionException 目标 class [App\Http\Middleware\HandleInertiaRequests] 不存在
Laravel 8 JetStream BindingResolutionException Target class [App\Http\Middleware\HandleInertiaRequests] does not exist
这些使用 jetStream InertiaJs 设置了一个新的 laravel8 项目,但是当我启动应用程序时出现以下错误:
显然这是一个路由错误,博客显示了编辑 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');
但错误仍然存在,请有人告诉我解决方案,或者我应该查看以找到解决方案
您可能需要在 PHP 文件的顶部 use Inertia\Inertia;
使用它。
根据错误,您可能漏掉了 App 前的反斜杠。
将其放入您的 web.php 文件中:
\App\Http\Middleware\HandleInertiaRequests::class
按照此处的说明进行操作:
https://inertiajs.com/server-side-setup
composer require inertiajs/inertia-laravel
php artisan inertia:middleware
然后应该找到 class。注意到 class 无法在 IDE 中解析,因此假设它不是开箱即用的默认安装。
这些使用 jetStream InertiaJs 设置了一个新的 laravel8 项目,但是当我启动应用程序时出现以下错误:
显然这是一个路由错误,博客显示了编辑 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');
但错误仍然存在,请有人告诉我解决方案,或者我应该查看以找到解决方案
您可能需要在 PHP 文件的顶部 use Inertia\Inertia;
使用它。
根据错误,您可能漏掉了 App 前的反斜杠。
将其放入您的 web.php 文件中:
\App\Http\Middleware\HandleInertiaRequests::class
按照此处的说明进行操作: https://inertiajs.com/server-side-setup
composer require inertiajs/inertia-laravel
php artisan inertia:middleware
然后应该找到 class。注意到 class 无法在 IDE 中解析,因此假设它不是开箱即用的默认安装。