前端圈这几年卷得厉害,状态管理、构建工具、组件体系一层套一层,htmx 却偏偏坚持走另一条路:少写 JavaScript,多写 HTML。
最近这个小众但硬核的项目更新到了 4.0。
GitHub 上已经攒下 49000+ Star。看到这种项目,我的第一反应不是看宣传图多炫,而是看它有没有解决老项目里的麻烦。htmx 这次动刀,主要就是给升级和维护减负。
最大的变化是属性继承机制改了。
以前一些行为会通过继承规则传递,现在 4.0 改成了显式声明。听起来像“小改动”,但对于大型模板项目来说,这种变化很关键。毕竟老项目最怕的就是:改了一处属性,结果不知道哪里跟着变了。
官方还准备了升级检查工具,可以扫描模板,把需要调整的位置直接列出来。这个思路很开发者:少讲道理,直接告诉你哪几行需要动。
另外几个改动也挺实用。
历史回退这块,以前依赖本地缓存快照,遇到第三方脚本修改页面状态时,返回之后可能出现各种奇怪问题。4.0 调整后,这类页面恢复问题的处理更稳了。
morph 交换能力也直接内置了。简单说,更新页面节点时不一定要整块替换,可以更平滑地保留已有状态。
官方甚至还配套发布了升级用的 Agent 技能,让 AI 辅助旧项目迁移到 htmx 4。
不过我得提醒一句:升级工具再方便,也别闭眼一键跑。以前接手老后台最容易翻车的,往往不是代码改不动,而是环境变量、第三方脚本、隐藏 DOM 依赖这些没人写文档的坑。
htmx 4.0 还有一个很舒服的点:体积依旧保持在 14K 左右,零依赖。
跟现在动不动几十 MB 的前端工程比,确实有点反差。
官方也表示 2.x 会继续长期维护,所以线上稳定项目没必要急着追新。想试 4.0,可以拿小模块迁过去看看,比直接全站开干稳得多。
有时候前端不是越多越强,能用几个 HTML 属性解决的问题,就没必要引进一整套复杂系统。htmx 这么多年能活下来,大概就是吃准了这个点。类似这种轻量思路,在 云栈社区 也常被讨论。
GitHub地址: github.com/bigskysoftware/htmx
|