我已经进行了Google页面速度测试。在报告中,它建议我删除阻止呈现的CSS资源以显示在折叠内容之上。我发现我有14个外部CSS文件,这导致我的页面加载延迟。那么,我可以将CSS文件放在HTML标签的末尾吗?还是有其他方法可以做到这一点?
我已经进行了Google页面速度测试。在报告中,它建议我删除阻止呈现的CSS资源以显示在折叠内容之上。我发现我有14个外部CSS文件,这导致我的页面加载延迟。那么,我可以将CSS文件放在HTML标签的末尾吗?还是有其他方法可以做到这一点?
执行您建议的操作将加载一个没有样式的站点,然后在 CSS 加载完成后,该站点将获得样式,从而导致卡顿/糟糕的用户体验。相反,您可以内联(或添加到 head 标签中)第一折叠内容,即用于为您看到的网站的第一部分进行样式设置的 CSS,而无需滚动。然后在生产模式下,将所有 CSS 文件合并为单个文件,如果您的源是可信任的源,则使用 dns-prefetch
。此外,如果您正在使用通过 webpack 打包的 react 应用程序,可以尝试实现 代码拆分
以加载与路由相关的捆绑包。将供应商 CSS / JS 文件和应用程序文件拆分,以便可以利用浏览器缓存。
Udacity有这个免费课程 here,它可以让您更好地了解如何优化页面速度。
你可以这样做,它会加载得更快,但在加载时,它将没有样式。如果这对你来说没问题,那就去做吧。然而,如果你问我,你可以将CSS样式/文件分类为紧急和不那么紧急的。如果你的页面加载了大约5秒钟,同时一切都没有样式,那么你可能会认为用户体验方面的结果并不是很好。因此,挑选出你绝对想要在开始时加载的样式,并将其余部分放在最后。
http
请求中的连接部分占用了大部分时间。下载14个大小为10kb的文件需要建立14个不同的连接,可能比下载一个200kb的文件需要建立1个连接更耗时。在任何给定时间内,您只能进行有限数量的并发http
请求。 - I haz kode