[英]How to override an app route from a package in Laravel 6
我正在尝试为 Laravel 6 创建一个 Composer 包,但我无法获取我的主路由/
以覆盖基本 Laravel 安装中包含的默认/
路由。
当我注释掉 laravel 提供的 base /
route 时,我的包路由确实有效,因此它正在被包注册。
如果我在config/app.php
文件中的 RouteServiceProvider 之前或之后包含我的包的服务提供者,它不会有任何不同。
我在这里缺少什么? 我如何确保我的包裹路线有优先权?
以下是相关的代码位:
config/app.php
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
Wheelmaker\LaravueSpa\LaravueSpaServiceProvider::class, // MY SERVICE PROVIDER
App\Providers\RouteServiceProvider::class,
LaravueSpaServiceProvider
的相关部分
public function boot()
{
$this->loadRoutesFrom(__DIR__.'/routes/web.php');
...
}
我的包的web.php
路由文件:
<?php
Route::get('/', function(){
$initData = [
'appName' => config('app.name'),
'user' => Auth::user(),
];
return view('laravue-spa::app', compact('initData'));
})->middleware(['web']);
这可能晚了,但对于其他人:
您可以要求用户在他们的composer.json
禁用自动包发现,然后在config/app.php
的RouteServiceProvider
之前手动注册包的服务提供者
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.