Alpine.js

小巧实用的JavaScript框架,用于在标记中构成Javascript行为。

README

Alpine.js


查看Alpine docs了解更多信息:Alpine Docs

欢迎您通过向此存储库提交PR来提交文档更新。 文档位于 [/packages/docs](/packages/docs) .

留在这里了解有关捐款的信息。

查找V2文档? 在这里


Alpine Compoenent Patterns


投稿指南:


快速开始


本地克隆此存储库
run npm install & npm run build
在网页上包含<script>标记中的“/packages/alpinejs/dist/cdn.js”文件,您就可以开始了!

简短教程


在本地克隆后,可以在该repo的根目录中使用npm install安装所有内容。

这个回购是一个使用npm工作区管理软件包的"mono-repo"。每个包在“/packages”目录中都有自己的文件夹。

不必为每个包运行单独的构建,而是使用相同的命令处理所有包:npm run build

以下是存储库中每个包的简要介绍:

包 | 描述
alpinejs | The main Alpine repo with all of Alpine's core
collapse | A plugin for expanding and collapsing elements using smooth animations
csp | A repo to provide a "CSP safe" build of Alpine
docs | The Alpine documentation
focus | A plugin that allows you to manage focus inside an element
history | A plugin for binding data to query string parameters using the history API (name is likely to change)
intersect | A plugin for triggering JS expressions based on elements intersecting with the viewport
mask | A plugin for automatically formatting a text input field as a user types
morph | A plugin for morphing HTML (like morphdom) inside the page intelligently
persist | A plugin for persisting Alpine state across page loads

编译后的JS文件(作为运行npm run [build/watch]的结果)将作为script标记包含在每个包的packages/[package]/dist目录中。

每个包至少应该有:一个“cdn”构建,它是自初始化的,可以使用script defer标记中的src属性和一个module.[esm/cjs].js文件,用于作为js模块导入(cjs表示节点,esm表示其他所有内容)。

Alpine V3的绑定由ESBuild专门处理。这些构建的所有配置都存储在scripts/build.js文件中。

测试


本存储库中使用了两种不同的测试工具:Cypress(用于集成测试)和Jest(用于单元测试)。

所有测试都存储在/tests/cypress/tests/jest下的/tests文件夹中。

您可以使用以下命令行运行它们:npm run test

如果您只想运行cypress并打开它的用户界面(在开发过程中推荐),可以运行:npm run cypress

如果您希望只运行Jest测试,可以像正常测试和目标特定测试一样运行npm run jest。您可以使用--指定命令行配置选项以转发到jest命令,如下所示:npm run jest----watch