如何在 npm 版本期间运行脚本

And*_*rle 5 javascript npm

有没有办法在 期间运行脚本npm version,即在增加版本号之后但在创建和推送 git 标签之前运行?

dre*_*cat 4

您可以创建一个version脚本,该脚本将在包版本增加后但在提交和标记之前调用。

"scripts": {
  "version": "./your_script"
}
Run Code Online (Sandbox Code Playgroud)

根据npm版本文档检查执行顺序。下面您可以看到有趣的摘录,特别是第 4 点:

  1. 在开始之前检查并确保 git 工作目录是干净的。您的脚本可能会在以后的步骤中将文件添加到提交中。如果设置了 --force 标志,则跳过此步骤。
  2. 运行预版本脚本。这些脚本可以访问 package.json 中的旧版本。典型的用途是在部署之前运行完整的测试套件。您想要添加到提交的任何文件都应该使用 git add 显式添加。
  3. 根据要求在 package.json 中更改版本(补丁、次要版本、主要版本等)。
  4. 运行版本脚本。这些脚本可以访问 package.json 中的新版本(例如,它们可以将其合并到生成文件的文件头中)。同样,脚本应该使用 git add 显式地将生成的文件添加到提交中。
  5. 提交并标记。
  6. 运行版本后脚本。用它来清理文件系统或自动推送提交和/或标签。

此功能是在 npm v2.13.0中引入的。有关详细信息,请参阅版本:允许脚本将文件添加到提交。