繁体   English   中英

Laravel Nova,找不到路线

[英]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 中更新您的路由注册以匹配此图像...(在链的末尾添加“注册” ).

在此处输入图像描述

https://twitter.com/taylorotwell/status/1032298042773393408

如果您通过像这样调整 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::classconfig/app.phpproviders数组。

这样做之后,我运行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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM