在生产环境中找不到组件的类或视图(&Q)

我在本地的Mac上开发。最新版本的Big Sur。

今天,我去通过Forge通过Ubuntu服务器将我的应用程序部署到生产环境中,结果收到了一个我以前从未见过的错误,而且在线找不到答案。我能看到很多人对此抱怨,但所有人在其他答案上说的都是链接到实际上没有解决方案甚至解释的问题,所以这就是为什么我要问一个新的问题。

确切的错误是这样的; Unable to locate a class or view for component [layouts.base]. (View: /home/forge/default/releases/20201204084441/resources/views/layouts/app.blade.php)

在我的应用程序中; appViewComponentsLayoutsApp.php 它看起来像这样;

<?php

namespace AppViewComponentsLayouts;

use IlluminateViewComponent;

class App extends Component
{
    public function render()
    {
        return view('layouts.app');
    }
}

那么我也有; resourcesviewslayoutsapp.blade.php

<x-layouts.base>
<!-- contents -->
</x-layouts.base>

(基本也差不多)

在Mac上运行完美。一旦我将其部署到Ubuntu上,我就收到上面的错误消息:无法找到具有这些名称的类或视图。

谁能指导我如何解决这个问题,因为到目前为止我完全不知道,尽管知道区分大小写可能是与其他问题有关的问题,但我找不到任何实际的解决方案或方法来解决这个问题。


解决方案

我遇到了同样的问题。多亏了你的问题,我才知道如何解决它:d

在我的例子中,为了更好地组织,我在另一个文件夹中创建了一个组件:

$ php artisan make:component Tutorial/channelName/Alert

因此它在以下目录中创建了view组件:

views/components/tutorial/channel-name/alert.blade.php

现在,要调用组件,您可以这样做:

<x-tutorial.channelName.alert />

差不多就是这样。

相关文章