我正在使用Laravel 5.6框架,我想将路由文件移到另一个目录。我将其从原始~/config/routes/web.php
目录移到了~/routes/web.php
。
然后我将mapWebRoutes
中的RouteServiceProvider
方法更改为:
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('config/routes/web.php'));
现在,当我尝试启动laravel时,出现错误:
在web.php第14行中: 找不到“路线”类
我已经检查了app.php
配置文件中的别名数组。那里是正确的课程:
'Route' => Illuminate\Support\Facades\Route::class,
当我将路线目录更改回原始~/routes/web.php
目录时,一切正常。
我还试图将类导入到web.php
路由文件中,如下所示:
use Illuminate\Support\Facades\Route;
然后我尝试启动laravel时收到此错误。
在Facade.php第218行中: 尚未设置外观根。
如何做到这一点,以便可以将我的路由文件移动到另一个目录而不会出现此错误?
答案 0 :(得分:1)
将它们移动到由于特定原因而未被扫描的目录中。
config
目录专门用于配置文件,并且它们在提供程序之前的非常早的过程中被加载,这就是您的应用程序从配置文件获取要加载的提供程序列表的方式。 / p>
如果您想在项目的根目录中建立一个名为random
的目录并将其放置在该目录中,只需在RouteServiceProvider
中适当地更改路径即可。
答案 1 :(得分:0)
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('path/routes/web.php'));
但是路径无法配置,
例如 base_path('public / routes / web.php'),但不是 base_path('config / routes / web.php')