← 返回博客

为什么我选择零 JavaScript 优先

默认不发送任何客户端脚本,换来的是肉眼可见的速度与安全感。


现在大多数框架的默认做法,是先把一整套运行时塞进浏览器,再想办法让它别太慢。Astro 反过来:默认零 JS,需要的时候再局部加。

速度是一种体验

百毫秒的差别,用户未必说得出,但身体会记得。Lighthouse 跑出 100 分不是目的,打开即所得才是。

安全面更小

没有常驻的客户端运行时,就等于少了一大片被攻击的表面积。对我这种懒得天天打补丁的人来说,这很省心。

不是不能用 JS

需要评论、搜索、图表时,照样能用 React、Vue、Svelte 的组件,只是它们只在那一小块「岛屿」上活着,不影响整页。