Laravel项目中@csrf、@error等Blade指令在页面中显示为纯文本的解决方法咨询
解决Laravel Blade指令(@csrf、@error等)显示为纯文本的问题
嘿,我刚看到你遇到的这个问题,这在Laravel新手当中真的挺常见的,别慌,咱们一步步排查解决:
先检查视图文件的扩展名(最常见原因!)
Laravel只有后缀为.blade.php的文件才会自动解析@开头的Blade指令。如果你的视图文件是login.php或者其他非.blade.php的命名,赶紧把它改成login.blade.php(比如放在resources/views/auth/login.blade.php这类路径下)。只要扩展名改对,@csrf、@error这些指令就能被正常识别解析了。确认控制器返回视图的方式正确
你必须用Laravel提供的view()辅助函数返回视图,比如:return view('auth.login'); // 对应resources/views/auth/login.blade.php文件别用
file_get_contents()或者直接返回HTML字符串,那样Laravel不会去处理Blade指令。清除视图缓存(可选但有用)
有时候旧的视图缓存会导致指令不生效,运行下面的命令清一下缓存:php artisan view:clear之后刷新页面再试试效果。
看你贴的代码本身是没问题的,@csrf和@error的写法都符合规范,所以大概率是上面前两个原因中的一个,尤其是文件扩展名的问题,先去检查这个肯定没错!
内容的提问来源于stack exchange,提问作者Julius Kevin
相关产品推荐
相关产品推荐

