菜单

自定义构建

相关源文件

本文档将介绍如何创建 Animate.css 的自定义版本,使其仅包含您需要的动画,从而显著减小文件大小并提高项目性能。有关在项目中使用的预构建动画的信息,请参阅使用指南

目的和概述

Animate.css 的构建系统允许您:

  1. 仅包含您需要的特定动画
  2. 自定义 CSS 类前缀(默认为 animate__
  3. 为开发或生产生成不同的输出格式

自定义构建需要克隆存储库并直接使用构建工具,因为这些工具不包含在 npm 包中。

来源: docsSource/sections/07-custom-builds.md1-20 package.json15-27

设置构建环境

无法直接从 npm 模块创建自定义构建。您需要克隆存储库并安装依赖项。

设置完成后,您可以运行 npm start 来生成三个输出文件:

文件描述目的
animate.css未压缩开发使用,易于阅读
animate.min.css压缩版生产使用,文件大小优化
animate.compat.css压缩版,无类前缀从旧版本迁移

来源: docsSource/sections/07-custom-builds.md5-19 package.json18-23

创建自定义动画集

自定义构建的主要好处是能够仅包含您需要的动画,从而减小文件大小。要自定义包含哪些动画,请执行以下操作:

  1. 编辑 ./source/animate.css 文件
  2. 删除不需要的 @import 语句
  3. 仅保留您计划使用的动画
  4. 运行 npm start 来生成您的优化构建。

例如,如果您只想使用一些引人注目的动画,您的 source/animate.css 文件可能看起来像这样:

通过排除未使用的动画,大大减小了文件大小。

来源: docsSource/sections/07-custom-builds.md21-37

自定义类前缀

默认情况下,所有动画类都使用 animate__ 前缀(例如,animate__bounceanimate__fadeIn)。您可以通过以下方式为自定义构建更改此前缀:

  1. 编辑 package.json 文件中的 animateConfig.prefix 属性
  2. 运行 npm start 来生成带有自定义前缀的构建。

例如,要将前缀更改为 my-anim__,您需要修改 package.json 文件。

运行 npm start 后,所有动画类都将使用您的自定义前缀(例如,my-anim__bounce 而不是 animate__bounce)。

来源: docsSource/sections/07-custom-builds.md39-56 package.json15-17 postcss.config.js18

构建流程技术细节

构建系统使用 PostCSS 和多个插件来处理源文件并生成输出文件。

构建流程执行以下步骤:

  1. 导入解析:将所有导入的 CSS 文件合并到一个文件中。
  2. 前缀应用:将配置的前缀添加到所有动画类。
  3. 浏览器兼容性:添加供应商前缀并处理 CSS 功能。
  4. 压缩:移除空格并优化 CSS(用于生产/兼容性构建)。
  5. 添加头部:添加许可证和版本信息。

每个命令都会生成不同的版本:

  • npm run raw:开发版本,不压缩。
  • npm run prod:生产版本,已压缩。
  • npm run compat:兼容性版本,无类前缀。

来源: postcss.config.js1-46 package.json18-30

了解输出格式

构建系统会生成三种不同的输出文件,每种文件都有特定的用途:

文件类前缀压缩版目的
animate.css是(animate__开发、调试
animate.min.css是(animate__生产用途
animate.compat.css遗留支持,迁移

这些文件之间的差异由传递给 PostCSS 配置的环境变量决定。

来源: postcss.config.js18-40 package.json18-23

自定义构建的最佳实践

创建自定义构建时,请考虑以下建议:

  1. 仅包含必要的动画:每项动画都会增加文件大小。
  2. 对相关动画进行分组:将入场/出场动画对放在一起以保持一致性。
  3. 更新您的文档:记下您的自定义构建中提供了哪些动画。
  4. 对自定义构建进行版本控制:保存您自定义的 source/animate.css 文件以跟踪更改。
  5. 考虑浏览器兼容性:构建过程会自动处理供应商前缀。

自定义构建特别有利于:

  • 有严格性能要求的项目
  • 带宽有限的移动应用程序
  • 仅使用少量动画的项目

来源: docsSource/sections/07-custom-builds.md1-57

限制和注意事项

  • 无法通过 npm 模块进行自定义构建;您必须克隆存储库。
  • 更新库版本时,对源文件的任何更改都将被覆盖。
  • 兼容性构建(animate.compat.css)用于迁移目的,可能不会永久维护。
  • 如果您通过编程方式添加动画类,自定义前缀可能需要更新您的 JavaScript 代码。

来源: docsSource/sections/07-custom-builds.md1-4