laravel 视图必须以 .blade.php 为后缀且置于 resources/views/ 下,否则 blade 引擎不触发导致页面空白;需清除 view 缓存并确保控制器 return view() 正确调用。

修改 Laravel 视图文件后缀(比如把 .blade.php 改成 .php 或 .html)后页面直接空白,既不报错也不渲染内容——这不是语法错误,而是 Blade 引擎根本没被触发,Laravel 把你当成了普通 PHP 文件或静态资源来处理。
确认文件后缀是否严格为 .blade.php
Blade 模板必须以 【.blade.php】 结尾,不能是 .php、.blade、.html 或带空格的 index .blade.php。Laravel 的视图加载器只识别这个后缀,其他一律跳过编译流程,直接原样输出(如果没 echo 就是空)。
打开 resources/views/welcome.blade.php,检查文件名是否完整包含 .blade.php;若你重命名为 welcome.php,即使内容全是 Blade 语法(如 @if),也完全不解析,页面必然空白。
检查视图路径是否在 resources/views/ 下
Laravel 只扫描 【resources/views/】 目录及其子目录。把视图放到 app/Views/、views/(项目根目录)、public/views/ 或 storage/app/views/ 都无效。
例如:你新建了 resources/views/admin/dashboard.blade.php,对应视图名是 admin.dashboard;若误放至 app/Views/admin/dashboard.blade.php,调用 view('admin.dashboard') 会直接抛出 View [admin.dashboard] not found,但某些配置下可能静默失败导致空白。
清除 Blade 编译缓存
第一步:执行 php artisan view:clear。
第二步:如果之前运行过 php artisan view:cache,旧的编译文件(storage/framework/views/ 下的 PHP 文件)仍会被加载,哪怕你已改名或删掉源文件。不清缓存,Blade 永远读不到新后缀或新内容。
第三步:开发环境也要清——别以为只有生产环境才缓存,本地 view:cache 后同样生效。
验证控制器是否真正返回视图
方法一:检查控制器方法末尾是否有 return view('xxx');。漏写 return 是新手高频错误,函数执行完无返回值,PHP 默认返回 null,响应体为空白。
方法二:确认 view() 参数中的视图名与文件路径一致。例如 view('user.profile') 对应 resources/views/user/profile.blade.php,而非 resources/views/user_profile.blade.php。
注意:视图名不支持斜杠,view('user/profile') 会尝试加载 resources/views/user/profile.php(非 blade),且不报错,结果就是空白。











