菜单

为 anime.js 贡献

相关源文件

此页面为希望为 anime.js 库贡献代码的开发者提供了全面的指南。它涵盖了开发环境设置、贡献流程和提交准则。有关从源代码构建的详细信息,请参阅从源代码构建;有关测试过程,请参阅测试;有关如何报告问题或请求功能,请参阅问题报告和功能请求

开发环境设置

要开始为 anime.js 贡献代码,您需要设置您的开发环境

  1. https://github.com/juliangarnier/anime 分叉仓库
  2. 将您的Fork克隆到本地计算机
  3. 安装依赖项

来源: package.json42-52

存储库结构

anime.js 具有简洁而组织良好的项目结构,贡献者在进行更改之前应了解这一点。

来源: package.json28-31

开发工作流

anime.js 项目使用 npm 脚本来管理开发工作流程。以下是您将使用的主要命令:

命令描述
npm run dev启动开发模式并监听更改
npm run dev-types开发模式,带 TypeScript 类型生成
npm run build构建库
npm run release创建发布构建(压缩版本)
npm run open-examples运行本地服务器以查看示例
npm run test-browser运行基于浏览器的测试
npm run test-node运行基于 Node.js 的测试

来源: package.json53-61

构建系统

anime.js 使用 Rollup 将库打包成各种分发格式。理解这个过程对贡献者至关重要。

构建系统生成多种分发格式以支持不同的 JavaScript 环境

  • ES 模块 (ESM)
  • 通用模块定义 (UMD)
  • CommonJS
  • 立即调用函数表达式 (IIFE)

来源: package.json42-52 package.json53-61

项目依赖

anime.js 保持其依赖项最少,但使用多种开发工具

来源: package.json42-52

问题报告指南

在 anime.js 提报问题时,请遵循以下准则以确保快速解决:

  1. 使用最新版本的 anime.js
  2. 提供清晰、简洁的问题描述
  3. 在 CodePen 中创建最小可重现示例
  4. 包含重现问题的步骤
  5. 指明您的操作系统和浏览器版本

有关报告问题的详细信息,请参阅问题报告和功能请求

来源: .github/ISSUE_TEMPLATE/bug_report.md10-41

功能请求指南

在为 anime.js 提出新功能建议时:

  1. 每个问题只提交一个功能请求
  2. 清楚地描述该功能应实现什么
  3. 提供代码示例以演示所需的 API
  4. 考虑并描述您已探索的替代方案

有关请求功能的详细信息,请参阅问题报告和功能请求

来源: .github/ISSUE_TEMPLATE/feature_request.md10-27

拉取请求工作流程

提交拉取请求时:

  1. 确保您的代码与现有测试兼容
  2. 为新功能添加新测试
  3. 保持代码风格一致性
  4. 在您的 PR 描述中引用任何相关问题
  5. 使 PR 专注于单个更改

分发格式关系

了解您的更改如何影响各种分发格式在贡献时很重要

对源代码的任何更改都将影响所有分发格式,因此进行全面的跨格式测试至关重要。

来源: package.json10-21

代码组织

为 anime.js 贡献代码时,了解代码库如何围绕其核心动画概念组织会很有帮助

了解这种组织结构将帮助您在实现功能或修复错误时找到正确的修改文件。

社区准则

  • 在所有沟通中保持尊重和包容
  • 遵循既定的代码风格和模式
  • 提交前彻底测试您的更改
  • 记录新功能或对现有功能的更改
  • 考虑您的更改对性能的影响

支持项目

anime.js 由 Julian Garnier 作为独立维护者进行维护。如果您认为 anime.js 对您的工作有价值,请考虑通过GitHub Sponsors支持该项目。

来源: .github/ISSUE_TEMPLATE/bug_report.md43-45