这个项目能做什么

htmx 是一个紧凑、无依赖的 JavaScript 库,通过属性扩展 HTML,用于发起 HTTP 请求和更新页面内容。根据其 README,它直接在 HTML 中提供对 AJAX、CSS 过渡、WebSocket 和服务器发送事件的访问,因此开发者可以利用超文本的简洁与强大来构建现代用户界面。 该项目自称小巧,压缩并 gzip 后约 14k,无依赖且可扩展。其声明的动机是消除 HTML 中的人为限制:为什么只有锚点和表单元素才能发起 HTTP 请求?为什么只有点击和提交事件才能触发它们?为什么只有 GET 和 POST 可用?为什么只能替换整个屏幕?通过解决这些问题,htmx 旨在完善 HTML 作为超文本系统。 快速入门示例展示了从 CDN 引入库,并为按钮添加 hx-post 和 hx-swap 属性。README 解释这些属性告诉 htmx 在按钮被点击时向给定 URL 发起 AJAX 请求,并用响应替换整个按钮。htmx 被介绍为 intercooler.js 的继任者。 可通过 npm 以 htmx.org 名称安装。README 指出一个名为 htmx 的旧损坏包,并澄清了正确的包名。文档和示例托管在项目网站上。 对于贡献者,README 概述了黑客指南:使用 npm install 安装开发依赖,运行本地 Web 服务器(如 npx serve),并在浏览器中打开测试套件。测试按属性、核心功能、回归、扩展和手动用例等测试目录组织。项目使用 mocha、chai 和 sinon 进行测试和模拟 AJAX 请求。还引用了贡献指南和赞助选项。