我有一些压缩的JS和CSS文件在TYPO3 9.5.15压缩。我正在努力获得一个更好的谷歌PageSpeed排名。我明白这一点,但我不知道如何让TYPO3预加载这些压缩文件。
现在它看起来是这样的:
page.includeJSFooterlibs {
jquerycore = EXT:web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js
}

发布于 2020-04-08 19:03:50
我认为TYPO3目前还不支持链接预加载,但是在添加库的时候,你可以在headerData和footerData中加入已经最小化的库版本(你已经做了)来解决这个问题。以这种方式包含该文件时,TYPO3既不会缩小也不会合并该文件。
page.headerData {
10 = TEXT
10.value = <link rel="preload" href="/typo3conf/ext/web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js" as="script">
}
page.footerData {
10 = TEXT
10.value = <script src="/typo3conf/ext/web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js" defer></script>
}有关rel预加载的更多信息,请参见https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content
发布于 2020-06-15 16:40:09
有几种预加载技术: 1) HTML,2) HTTP头,3) <link rel>早期提示
为了在TYPO3中获得JS/CSS资产的最终URL,您应该使用asset-post处理事件/挂钩:
参见https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/10.4/Feature-90899-IntroduceAssetPreRenderingEvents.html ( v10的事件,也包含对v9-hooks的引用)。
挂钩/ Link:
例如(v9):EXT:http2_push设置Link:标头
早期提示
遗憾的是,对于TYPO3,我们不能轻松地使用Early hints,因为在呈现页面之前,我们现在可能不是资产的最终URI。如果您可以调整您的构建/实例以拥有稳定的资产URI (也考虑到?timestamp ),这在我看来可能真的会有所不同,因为下载可能真的会很早就开始。但这需要仔细考虑。
我会确保不会通过早期的提示来阻止客户端缓存。我不确定,但它甚至可能是无条件的推送甚至会产生不必要的开销。我不确定Accept-Push-Policy header有多实验性。
Link:与<link>
我怀疑HTML在加载速度上会有什么显著的不同:对于<link rel="preload">,您无论如何都可以使用<head>。对于JS,您可以使用或不使用async/defer来控制是否在<head>中使用它。字体可能有更好的用例。
HTML头实际上可能有助于缩短几毫秒,因为它不需要计算Link:来收集URI。但我们仍然存在页面生成的延迟(在页面生成之前,不会发送AFAIK报头)。
https://stackoverflow.com/questions/61097231
复制相似问题