为什么我把个人站做成纯静态
做这个站的时候我做了个看起来有点「落后」的选择:不接任何前端框架,不引入构建工具,就是最朴素的 HTML、CSS 和一点点原生 JavaScript。
身边不少朋友的第一反应是:都什么年代了,随便套个模板、挂个现成框架不好吗?我想了想,对我这个站来说,还真不太好。原因不在技术上,而在这件事的性质。
它不需要「跑」
一个正式的 Web 应用需要处理登录、写数据、跑后台任务,那必须有个一直在运行的服务。但我这个站只是一些页面:作品介绍、文章正文、关于页。这些内容在写下来的时候就已经确定了,不需要在用户打开时临时计算。既然如此,为什么要让一台服务器一直开着,只为了把同样的内容重复拼一遍?
这些页面直接由静态文件服务器发出去就行了——收到请求,把文件原样返回。快、稳定,而且几乎没有可以出错的地方。
维护起来没有心理负担
我更在意的是另一件事:我会不会懒得更新它。之前用过一些方案,每次想改一个字,都要先装依赖、跑一遍构建、等一堆日志刷完。几天不碰,环境就坏了,于是越发不想动——一个记录生活的站,如果更新它本身成了负担,那它迟早会变成一片荒地。
现在的情况是:我想加一篇文章,就复制一份文章页、改内容、把条目加到一个清单文件里,然后跑一个脚本传上去。整个过程半分钟,不用想依赖、不用想环境。这种「随时可以动手、动完就跑」的轻快感,是我最看重的。
也不是没有代价
代价当然有。比如「搜索」这种功能,纯静态就做不了真正的后端查询,只能在前端做——我把文章的正文在用户搜索时抓下来在浏览器里匹配,对几十篇文章完全够用,但如果将来有几百篇,就得另想办法。
再比如内容多了之后,手动维护那个清单文件会有点烦,可能哪天我会写个小脚本来自动生成它。但这些都是到问题真正出现时再说的事。为了可能永远不会发生的规模,提前搭一堆复杂的东西,我觉得不划算。
小结
「用最简单的办法解决当前的问题」——这话说起来像废话,做起来却常常被忽略。技术选型很容易被「别人都这么做」推着走,但每个人的东西大小不一样、更新频率不一样、在意的东西也不一样。对我来说,一个几乎不会坏、随时能改的个人站,比一个功能齐全但懒得更新的站,有价值得多。
← 返回文章列表