Blaze 是 Livewire 团队开发的 Blade 模板编译器,能够随着应用程序规模的扩大降低组件渲染开销。它可以作为默认 Blade 编译器的直接替代品,并提供三种优化级别——从优化的编译器到编译时折叠(将组件预渲染为静态 HTML)。
- 优化后的编译器,开销最多可降低 97%。
- 缓存重复组件渲染的记忆化
- 编译时折叠,将静态组件预渲染成 HTML
- 内置火焰分析器,可显示火焰图和各组分时序信息
- 无需对现有 Blade 模板进行任何更改
内置分析器
Blaze 内置了一个分析器,可以生成火焰图和各组件的时序分解图:
火焰
::
调试
();
这有助于确定哪些组件最能从优化中受益。
优化编译器
默认层级会将 Laravel 的 Blade 编译器替换为一个能够将模板转换为优化 PHP 函数的编译器。它无需任何配置,即可直接替换,据称可降低高达 97% 的开销。
记忆化
第二层缓存会缓存接收相同 props 的组件的渲染输出。这对于页面上多次出现且数据相同的组件(例如图标或头像图片)非常有用。
编译时折叠
第三层级在编译时将组件预渲染成静态 HTML,完全消除了运行时开销。这适用于输出不依赖于运行时数据的组件。
用法
您可以通过添加以下内容来优化各个组件:
@blaze
使用指令,或一次性针对整个目录:
火焰
::
优化
()
->
在
(
resource_path
(
'views/components/app'
))
->
在
(
resource_path
(
'views/components/admin'
));
查看 Blaze.dev 以获得完整的详细信息。




