tween.js 贡献者指南

September 21, 2026 · View on GitHub

更多语言: English, 简体中文

本指南适用于想要为该库做出贡献的人,或者对了解幕后情况感到好奇的人:如何进行测试?我们自动化了什么?我们如何发布?等等。

如果你正在寻找如何使用库的文档,用户指南适合你。

注意:本文档是正在进行的工作。更多内容将分阶段添加。如果你有想看到解答的问题,请在此 issue 的评论中添加它们。谢谢!

本指南内容:

开发者要求

虽然 tween.js 不需要 node.js 即可运行,但我们在开发中使用它。因此,在能够使用该库之前,你需要安装 node.js。

Node.js 包含我们用来运行脚本的 npm 工具,例如打包、运行测试等脚本。在尝试运行下面详述的任何步骤之前,请确保它在你的系统中正常工作。

安装 node.js 后,克隆 tween.js 存储库:

git clone https://github.com/tweenjs/tween.js.git

切换到该文件夹:

cd tween.js

并运行脚本来安装开发依赖项:

npm install

或者三行代码:

git clone https://github.com/tweenjs/tween.js.git
cd tween.js
npm install

npm install 成功完成后,尝试运行测试:

npm test

如果你在运行上述任何命令时遇到问题,请尝试使用你选择的搜索引擎搜索错误文本。这通常是最快的解决方案,因为许多人可能已经遇到了相同的问题。

测试

test 目录中有一套自动化测试。

这些测试可以快速发现代码中的回归问题——在添加新功能或更改代码以修复错误时很有用;我们不想引入新的错误!它们还会发现风格问题,这有助于保持库的凝聚力。

要运行测试,请输入:

npm test

你应该在更改库中的代码后运行测试。如果你更改了测试所描述的行为,测试将不会通过,你将得到指向失败测试的错误。这可能是因为……

  • 你忽略了某些内容或代码中有错误,或者……
  • 库或测试本身是错误的

更频繁发生的是第一种情况,但第二种情况也有发生,在边缘情况下。

自动化测试通过后你应该做的另一件事是运行 examples 文件夹中的示例。这种情况很少见,但可能发生你的更改引入了自动化测试没有检查的外观差异,注意到这一点的唯一方法是运行示例并让人眼发现输出中的差异。如果你不想检出库的两个副本,可以查看在线示例。

单元测试

测试位于 src/tests.ts 文件中。

测试使用 nodeunit 执行。

TODO: 如果在浏览器中打开 test/unit/nodeunit.html,测试也应该能正常工作,但目前它们已损坏。有一个未解决的 issue 使其重新工作。

代码风格和 lint 测试

我们使用 Prettier 和 ESLint 来确保代码风格统一。

要自动格式化代码并报告不能自动格式化的代码片段的任何错误,请运行:

npm run test-lint

Prettier 规则在 .prettierrc.js 中,ESLint 规则在 .eslintrc.js 中。

其他类型的测试

我们希望测试性能回归,即更改是否使事情变慢,或者简单地测试性能,这样我们可以比较不同浏览器之间相同代码的性能。

有一个未解决的 issue 来跟踪这方面的工作,但我们还没有取得进展。求助!:-)

持续集成

我们使用 GitHub Actions 进行持续集成,以便为每个拉取请求运行构建和测试。.github/workflows/tests.yml 文件告诉 GitHub 要运行什么;在我们的情况下,我们在该文件中指定的操作系统和 Node.js 版本中运行 npm install,然后运行 npm test。

TODO: 将 macOS 和 Windows 添加到运行测试的操作系统中。求助!:)

发布流程

目前发布流程是手动的。

当准备在 master 分支上发布时,确保没有未提交的更改,然后运行 npm run release:patch 来发布补丁版本号递增的新版本,运行 npm run release:minor 来发布次版本号递增的新版本,或运行 npm run release:major 来发布主版本号递增的新版本。

提示:请参阅 semver.org 和 npm-semver 文档来了解语义版本控制。