← 返回博客列表
开站:为什么我把工具站做成「纯前端」
这里是 Evanescia 工具箱的第一篇文章。
在动手之前,最先要回答的不是「用什么框架」,而是:这些工具到底需不需要一台服务器?
答案是不需要
我列的这些工具——JSON 格式化、Base64、哈希、时间戳、正则测试、二维码、图片压缩、单位换算—— 有一个共同点:它们只跟“你手上的这份数据”有关,跟别人、跟历史、跟登录态都没有关系。
既然如此,把它送到一台远在新加坡的服务器上算一遍、再传回来,纯属多余:
- 慢:数据要绕一圈跨太平洋回来,还要受跨境链路晚高峰的影响
- 危险:你粘贴的可能是一份带密钥的配置、一段还没发布的文案
- 贵:服务器要钱,带宽更要钱
浏览器本身就是一台性能过剩的计算机。crypto.subtle 能算 SHA-512,Canvas 能压图片,
JSON.parse 当然也能格式化 JSON。
静态站的好处是连锁的
一旦站点不需要服务器,很多事情会一起变简单:
| 维度 | 纯前端静态站 |
|---|---|
| 成本 | 0 元(Cloudflare Pages 免费额度足够个人站用很久) |
| 可用性 | 静态资源走 CDN,几乎没有“服务器挂了”这个概念 |
| 速度 | 首屏就是 HTML,没有接口等待 |
| 隐私 | 数据从没离开过你的设备,也就无从泄露 |
| 维护 | 不用打补丁、不用看监控、不用续带宽 |
唯一要付出的代价是:需要后端的能力(比如查询 IP 归属地)做不了, 或者只能借助 Cloudflare Pages Functions 这类边缘函数。
所以这个站会怎么长
- 能纯前端做的,一律纯前端,一个接口都不加
- 需要联网查询的(比如 IP、DNS),再单独走边缘函数,并且只传必要的参数
- 每加一个工具,都会在首页自动出现,不需要改动导航
技术上用的是 Astro:默认输出纯静态 HTML,需要交互的地方才加载那一小段 JS。 站点的构建产物一共十几个文件、一百来 KB。
最后
这个域名来自《崩坏:星穹铁道》里的绯英(Evanescia)。 比起“资源站”或者“导航站”,我更想把它做成一件拿起来就顺手的小工具集—— 打开、用完、关掉,中间没有任何多余的动作。
后面会陆续往里加东西。如果你有想要但市面上做得很糙的工具,欢迎告诉我。