一个无依赖的小型 JavaScript 库,通过 HTML 属性让任意元素发起 AJAX、WebSocket 和 SSE 请求。
alpinejs/alpine
一个轻量精简的 JavaScript 框架,直接在 HTML 标记中添加响应式交互行为。
- Star
- 31,984
- Fork
- 1,396
- 未关闭 Issue
- 25
- 最近提交
- 4天前
这是什么?
Alpine.js 是一个精简的 JavaScript 框架,用于在 HTML 中组合交互行为。开发者通过属性为元素绑定状态和事件处理,下拉菜单、弹窗、标签页、表单逻辑等小型交互可以直接写在对应的标记旁边,无需搭建复杂的应用结构。
项目既可以通过 CDN 脚本引入,只需一个 script 标签;也可以作为 npm 模块用于打包项目。除核心库外,官方还提供了多个插件,分别用于带动画的展开折叠、焦点管理、将状态绑定到查询字符串、基于交叉观察的触发、输入框格式化、DOM 智能替换以及跨页面持久化状态。
本仓库是使用 npm workspaces 管理的 monorepo,包含核心包、各个插件、CSP 安全构建版本以及文档站点。贡献者可以用一条命令构建所有包,并运行 Cypress 集成测试和 Vitest 单元测试。
核心功能
- 01直接使用 HTML 属性声明状态与事件处理。
- 02既可通过 CDN script 标签引入,也可作为 npm 模块使用。
- 03提供展开折叠动画、焦点管理、输入格式化、状态持久化、DOM 智能替换等官方插件。
- 04提供符合 CSP 安全策略的构建版本。
- 05采用 monorepo 结构,包含 Cypress 与 Vitest 测试套件。
适用场景
- 在服务端渲染的页面中添加下拉菜单、弹窗或标签页,而无需完整的 SPA 框架。
- 在页面刷新后保留展开面板或表单数据等界面状态。
- 使用输入格式化和焦点管理构建交互式表单。
- 在要求严格 CSP 策略的环境中使用安全构建版本。
快速上手
- 1
在本地克隆仓库
- 2
安装依赖
npm install - 3
构建所有包
npm run build - 4
在页面的 script 标签中引入构建好的 cdn.js 文件
使用前须知
- 本仓库主要面向贡献者,大部分使用文档位于外部的 Alpine 文档站点。
标签
常见问题
- alpine 是什么?
- 一个轻量精简的 JavaScript 框架,直接在 HTML 标记中添加响应式交互行为。 Alpine.js 是一个精简的 JavaScript 框架,用于在 HTML 中组合交互行为。开发者通过属性为元素绑定状态和事件处理,下拉菜单、弹窗、标签页、表单逻辑等小型交互可以直接写在对应的标记旁边,无需搭建复杂的应用结构。
- alpine 可以免费使用吗?用的什么许可证?
- alpine 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- alpine 还在维护吗?
- 活跃维护中。alpine 最近一次提交是在 2026年10月16日。
- alpine 适合用来做什么?
- 在服务端渲染的页面中添加下拉菜单、弹窗或标签页,而无需完整的 SPA 框架。 在页面刷新后保留展开面板或表单数据等界面状态。 使用输入格式化和焦点管理构建交互式表单。 在要求严格 CSP 策略的环境中使用安全构建版本。
- alpine 怎么安装和运行?
- 在本地克隆仓库 安装依赖: npm install 构建所有包: npm run build 在页面的 script 标签中引入构建好的 cdn.js 文件
- 在哪里获取 alpine?
- 源代码和安装说明在 GitHub 上:https://github.com/alpinejs/alpine
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个智能体技能,可生成随滚动推进的 3D 落地页,镜头从场景外飞入内部且无切换。
Python 库,用原生 WebView 在桌面窗口中展示 HTML、CSS 和 JavaScript 界面。
零依赖的语义化 HTML、CSS 与 JS 界面组件库,体积约 10KB,无需 class 即可样式化原生元素。
一份长期维护的 ReactJS 面试题与答案合集,涵盖 React 核心、Router、Redux、测试和 React Native。
面向 Claude Code 与 Codex 的 Agent Skill,把 AI 生成的动作接入随滚动、鼠标、拖动等操作变化的网页动画。