“ Jamstack是Slowwwww。”您很少听到这一点,尤其是考虑到Jamstack的速度声誉。但是,即使是jamstack网站也可能遭受性能问题。不要以为jamstack会自动等于燃烧的性能;明智的选择至关重要。让我们探索不当的决定如何削弱jamstack网站的速度。
我们将有意建立一个缓慢的盖茨比网站,以了解性能瓶颈。使用持续的性能测试和Google灯塔,我们将跟踪每一个变化,从完美的灯塔得分为100的得分开始,并故意将其降低到令人沮丧的17。
建立我们慢速扫荡的网站
我们将使用盖茨比。首先,安装Gatsby CLI:
NPM安装-G Gatsby -CLI
创建一个新的盖茨比网站:
盖茨比新的慢速jamstack
导航到项目目录并启动开发服务器:
CD慢速jamstack 盖茨比发展
对于灯塔测试,我们需要制作生产。 Vercel提供了方便的托管解决方案。安装并登录到Vercel CLI:
NPM安装-G vercel -cli 动词
这将站点部署到Vercel。默认的盖茨比网站通常很快,在灯塔上得分100。让我们看看我们如何破坏这一点。
CSS放慢速度
CSS框架很强大,但是选择错误的框架或使用效率低下会损害性能。选择模块化框架或CSS-IN-JS仅加载必要的样式。
我们将做出一个糟糕的选择:将整个semanticui框架(包括jQuery(依赖))直接加载到我们的html。这需要复制默认的<code>html.js
文件:
cp .cache/default-html.js src/html.js
然后,将semanticui样式表和jQuery添加到src/html.js
:
<link href="https://cdn.jsdelivr.net/npm/%5Bemail%C2%A0protected%5D/dist/semantic.css" rel="stylesheet">
部署更改:
vercel- prod
灯塔得分降至66,仅仅与加载不必要的CSS相比,大幅下降。交互式(TTI)的时间大大增加。
营销依赖性放缓
让我们在src/html.js
中添加Google Analytics(分析)和Facebook跟踪脚本:
<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/?x-oss-process=image/resize,p_40" class="lazy" style="max-width:90%" style="max-width:90%" alt="让jamstack慢吗?已接受的挑战。" >
再次部署:
vercel- prod
得分暴跌至51。这些看似很小的脚本具有很大的性能影响。
放慢图像
我们将在https://placeimg.com
中添加100张图像到index.js
,直接加载它们而无需优化:
const indexpage =()=> { const项目= array.from({长度:100},(_,i)=>( <img key="{i}" src="%7B%60https://placeimg.com/200/200/%24%7Bi%7D%60%7D" alt="让jamstack慢吗?已接受的挑战。"> ); 返回 ( <layout> {项目} </layout> ); };
再次部署会导致一个慢速的站点,灯塔得分为17,TTI为16.5秒。
重点?每个决定都会影响绩效。即使在Jamstack上,性能也不是免费的。
恢复速度
Jamstack的主要性能优势是静态文件的边缘缓存,从而减少了第一个字节(TTFB)的时间。这比服务器端渲染快。但是,客户端的优化仍然至关重要。虽然高灯塔得分是可取的,但请记住,它们并不总是完美地反映用户体验。这项练习表明,即使有了Jamstack,也需要勤奋的关注表现。
以上是让jamstack慢吗?已接受的挑战。的详细内容。更多信息请关注PHP中文网其他相关文章!

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

前几天我只是和埃里克·迈耶(Eric Meyer)聊天,我想起了我成长时代的埃里克·迈耶(Eric Meyer)的故事。我写了一篇有关CSS特异性的博客文章,以及

文章讨论了使用CSS来获得阴影和渐变等文本效果,优化它们以进行性能并增强用户体验。它还列出了初学者的资源。(159个字符)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。