查看未找到[layouts.app]。 Laravel Framework 5.4.36

时间:2018-02-17 00:24:22

标签: laravel laravel-5

我在使用Laravel Framework 5.4.36(在Visual Studio代码上)时遇到问题。我正在尝试构建一个简单的布局,但无论我尝试了多少我在浏览器上遇到同样的错误:

  

未找到查看[layouts.app]。 (查看:C:\ wamp64 \ www \ lsapp \ resources \ views \ pages \ services.blade.php)

正如你所看到的那样(照片如下),文件在正确的路径中是不同的。enter image description here

这是我的布局app.blade.php的代码:

<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{config('app.name','LSAPP')}}</title>
</head>
<body>
       @yield('content')
</body>

这是来自services.blade.php的代码

@extends('layouts.app')
@section('content')
        <h1>services</h1>
        <p>This is the services page</p>
@endsection

我还安装了Laravel Blade Snippets v 1.13.0(1.14.1给了我另一个问题)。

我试图将名称和路径更改为布局文件和extends参数。任何想法为什么这不起作用?

非常感谢您的帮助..!

5 个答案:

答案 0 :(得分:7)

您必须引用相对于resources/views目录的刀片模板。根据截图,您的目录结构是:

resources
  ↳views
    ↳pages
      ↳layouts
         app.blade.php

因此,app.blade.php布局可用pages.layouts.app

@extends('pages.layouts.app')

答案 1 :(得分:1)

更改

@extends('layouts.app')

@extends('pages.layouts.app')

答案 2 :(得分:0)

问题是您将“布局”文件夹放在“页面”中,实际上,它应该仅在视图内部。

目录结构应为:

-视图     布局     -页面

答案 3 :(得分:0)

只是对上述答案的补充。因为在某些情况下,这些答案可能无法解决您的问题(主要是当您不在本地服务器上并且在线时)。

请记住,命名空间区分大小写(尤其是在直播时)。因此,当在 layouts 文件夹中创建文件的扩展名时,如下所列的 service.blade.php 文件所示:

@extends('layouts.app')
@section('content')
    <h1>services</h1>
    <p>This is the services page</p>
@endsection

请确保 layouts 文件夹的字母大小写与您要引用它的任何地方的拼写完全相同。

例如: 如果您的布局文件夹是使用名称标签 Layouts 创建的,并且您尝试以 service.blade.php 而不是 layouts.app 的身份访问 Layouts.app 文件中的此文件夹,那么肯定会有一个错误。

答案 4 :(得分:-2)

我也遇到了这个问题,在我发现一个错误之后我尝试修复它,而且它非常小:) ...只需检查您的布局文件夹拼写。在刀片文件“@extends('layouts.app')”中写成“layouts”,我们在视图名称中创建一个文件夹作为布局。