如何缩小 Symfony / Twig 生成的 HTML 代码以满足 Google PageSpeed Insight 的要求?

And*_*ord 7 html minify symfony twig

当使用 Google PageSpeed Insights 测试我的Symfony 2.8网页时,我收到警告,HTML 代码未缩小。

确实如此,虽然Assetic负责缩小所有CSS文件和JS脚本,但 HTML 代码本身相当脏。

Google 建议使用HTML Minifier,但由于这是一个 JavaScript 工具,它不能用作Twig扩展、过滤器等,可以吗?

该标签Twig的文档spaceless清楚地表明,该标签并不意味着缩小 HTML 等:

如果您想创建一个实际上删除 HTML 字符串中所有额外空格的标记,请注意,这并不像看起来那么容易(例如,考虑 textarea 或 pre 标记)。使用像Tidy这样的第三方库可能是一个更好的主意。

但我还是不明白如何Tidy集成到Twig模板等中。

Symfony那么,使用和创建缩小的 HTML 输出的最佳方法是什么Twig

len*_*ard 2

这是一个很好的问题,没有旗舰捆绑包,但经过快速搜索,您有两个捆绑包可以帮助您:

SemaMinifierBundle

该捆绑包允许您在一个配置值中缩小所有响应(在 KernelResponse 事件上自动),或者根据需要使用树枝扩展。

但这个包已经很老了(3 年),还没有为 Symfony3 做好准备。

Html压缩包

该捆绑包更新一些,并使用 htmlcompressor 库。