You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8 Blade扩展视图无法显示问题排查求助

搞定你的Laravel Blade视图不显示问题

嘿,我一眼就瞅到问题的核心啦!你现在的问题是路由返回错了视图文件,导致子模板的内容根本没被加载进来。

为啥会这样?

你的主布局layout/main.blade.php只是个框架,里面的@yield('content')就像个占位符,得靠扩展它的子模板来填充内容。但你现在路由直接返回主布局,相当于只加载了空框架,自然看不到hello啦。

一步步修复:

1. 先确认你的文件结构(我先假设你的子模板是test.blade.php,放在视图根目录)

确保文件位置是这样的:

resources/
└── views/
    ├── layout/
    │   ├── main.blade.php   # 你的主布局
    │   └── header.blade.php # 头部模板
    └── test.blade.php       # 写了@extends的那个子模板

2. 修正路由代码

把路由里返回的视图改成你的子模板,而不是主布局:

// 原来的错误写法:直接返回主布局
Route::get('/', function () {
    return view('layout/main');
});

// 修正后:返回子模板,它会自动加载主布局并填充content
Route::get('/', function () {
    return view('test');
});

Route::get('/test2', function () {
    return view('test'); // 这里也一样,要返回子模板
});

3. 检查子模板的细节

  • 确保子模板的文件名是test.blade.php(后缀必须是.blade.php,Laravel才会识别为Blade模板)
  • 如果你的子模板放在其他子目录,比如views/pages/test.blade.php,那路由里要写成view('pages.test')(用点代替斜杠)

4. 额外小技巧(如果还是不行的话)

要是你之前缓存过视图,可以清一下缓存试试:

php artisan view:clear

这样改完之后,刷新页面应该就能看到hello啦!

内容的提问来源于stack exchange,提问作者Nightcrawler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 19:03:02