1

在设置了一个新的 droplet 并部署了我的 laravel 项目后,我的项目遇到了问题。当我尝试访问使用 laravel 7 组件的页面时,出现以下错误:

Unable to locate a class or view for component [vbMenuItem].

经过一些调试后,我无法弄清楚为什么会发生此错误,在我的本地环境中它可以正常工作,并且在作为备份运行的旧生产环境中,相同的代码库也可以正常工作。

代码非常简单:

<ul class="navbar-nav ml-auto">
     <x-vbMenuItem permission="view distributors" route="distributor" label="Distributors" asset="icons/Distributors.svg"/>
</ul>

以及组件本身:

class vbMenuItem extends Component
{
    public $permission;
    public $route;
    public $asset;
    public $label;

    /**
     * Create a new component instance.
     *
     * @param $permission
     * @param $route
     * @param $asset
     * @param $label
     */
    public function __construct($permission, $route, $asset, $label)
    {
        $this->permission = $permission;
        $this->route = $route;
        $this->asset = $asset;
        $this->label = $label;
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return View|string
     */
    public function render()
    {
        return view('components.vb-menu-item');
    }
}

有没有人遇到过这个问题?如果是这样,我可以稍微推动一下正确的方向。

4

1 回答 1

2

我遇到了和你一样的错误,在我的情况下,这是因为在 linux 中它是区分大小写的,我通过将 /app/View/Components/icons.php 更改为 Icons.php 来解决它。

无法找到组件 [icons] 的类或视图。(查看:/var/www/html/mekiot/resources/views/livewire/devices/team-group-views-list.blade.php)(查看:/var/www/html/mekiot/resources/views/livewire/设备/team-group-views-list.blade.php)

于 2020-12-13T19:22:29.973 回答