[英]Laravel Nova, route not found
我已经安装了 Laravel Nova(使用 Laravel 5.6)。 App\Providers\NovaServiceProvider::class
在我的config/app.php
文件中注册。 但是当我访问https://localhost:1234/nova
时,出现404
错误。
我已经清除缓存并运行composer dump-autoload
。 我怎样才能让这条路线工作?
编辑:当我运行php artisan route:list
时,那里有nova-api
路由,但没有nova
路由。
此外,迁移不会在nova:install
之后复制。 我正在使用现有的 Laravel 项目。
验证 App\Providers\NovaServiceProvider 在您的提供商列表中。
config/app.php
App\Providers\NovaServiceProvider::class,
到providers
请注意,此答案与@jszobody 的答案有关,并且是对上述推文之后的问题的直接回答。 https://twitter.com/taylorotwell/status/1032300773655408640
没有这个,就可以看到 Nova 面板,尽管它仍然是空的。 此时的全新安装将在仪表板上显示“帮助”卡片。
我也遇到了这个问题。 添加Nova::routes();
到你的routes/web.php
并在你的浏览器中重新加载/nova
。
您必须清除配置缓存才能使更改实际应用:
php artisan config:clear
来自 Taylor(如果您使用的是比 Nova 1.0.1 更早的版本):
如果您在使用“php artisan serve”时遇到 Nova 未注册 /nova 路由的问题...请尝试升级 Nova 并在 NovaServiceProvider 中更新您的路由注册以匹配此图像...(在链的末尾添加“注册” ).
如果您通过像这样调整 composer.json 来禁用包发现/自动发现:
"extra": {
"laravel": {
"dont-discover": [
"*"
]
}
}
您需要手动将 NovaCoreServiceProvider 和 Nova 别名添加到您的config/app.php
。
'providers' => [
Laravel\Nova\NovaCoreServiceProvider::class,
],
'aliases' => [
'Nova' => Laravel\Nova\Nova::class,
]
如果你查看 vendor 文件夹中 laravel/nova 的 composer.json,你可以看到:
"extra": {
"laravel": {
"providers": [
"Laravel\\Nova\\NovaCoreServiceProvider"
],
"aliases": {
"Nova": "Laravel\\Nova\\Nova"
}
}
},
我遇到过同样的问题。 最后记得启用 HTTP 重写来解决。
a2enmod rewrite
然后重新启动apache
sudo systemctl restart apache2
检查路由是否不需要 id
例如 /student/:id
我意识到自发布以来已经有一段时间了,还有其他答案,但今天我遇到了同样的问题,全新安装似乎无处不在,并通过添加解决了
\Laravel\Nova\NovaCoreServiceProvider::class
到config/app.php
的providers
数组。
这样做之后,我运行artisan route:clear
清除并重建路由缓存,问题就解决了。
我不知道是什么导致了这个问题,因为我已经以完全相同的方式使用 nova 引导了多个新的 laravel 项目并且从未遇到过这个问题。
一种选择是调试以检查所有 Nova 路由。 在 NovaServiceProvider 类的 boot() 函数中添加上面的行。
public function boot()
{
parent::boot();
Nova::serving(function (ServingNova $event) {
$request = $event->request;
\Log::debug(Nova::resourceInformation($request));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.