[英]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.