我正在尝试为Laravel 6创建一个composer软件包,但是我无法获取主路由/
来覆盖基本Laravel安装中随附的默认/
路由。
当我注释掉laravel提供的基本/
路由以使它正在由软件包注册时,我的软件包路由确实起作用。
如果我在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']);
答案 0 :(得分:0)
这可能要晚了,但对于其他人:
您可以要求用户在其composer.json
中禁用自动软件包发现,然后在RouteServiceProvider
中的config/app.php
之前手动注册软件包的服务提供商